前言:

最近項目開發中,有遇到需求如下圖:

vue template 不可使用鍵值請將鍵值放在外部_編輯頁面

vue template 不可使用鍵值請將鍵值放在外部_項目開發_02

 

即:在新增時只要求是否配置默認為否且不可點擊,但編輯時就比較麻煩了,首先判斷是否配置是“是”還是“否”,若“是”,則兩個都不可點擊,若“否”,則兩個都可點擊。

1.剛開始寫代碼時,實現新增時不可點擊很簡單

直接在show_table這個父組件中聲明一個變量去判斷,當點新增,使其為true,點編輯,使其為false:

vue template 不可使用鍵值請將鍵值放在外部_#Vue_03

vue template 不可使用鍵值請將鍵值放在外部_編輯頁面_04

然後在彈框組件中給是否配置的disabled綁定這個變量:

vue template 不可使用鍵值請將鍵值放在外部_項目開發_05

2.編輯頁面的要求實現起來就有點複雜

因為編輯頁面不是默認使是否配置不可點擊,所以得在watch監聽裏去判斷,如果得到的值是0即否,使一個變量為false(可點擊),否則為true;同時還是在是否配置那裏給其disabled綁定上新變量,綁定的兩個變量用||連接:

vue template 不可使用鍵值請將鍵值放在外部_#Vue_06

vue template 不可使用鍵值請將鍵值放在外部_#Vue_07

用 || 連接是為了只要滿足其中一個為true,就會使其不可點擊,上邊代碼表示,如果新增,isEdit為true,isEdit1為false,這時也可以實現讓其不可點擊;如果為編輯,當否時,isEdit為false,isEdit1為false,就可點擊,當是時,isEdit為false,isEdit1為true,就不可點擊,

3.最後還得解決合併服務名在新增時不做限制

解決方式如下:

vue template 不可使用鍵值請將鍵值放在外部_項目開發_08

vue template 不可使用鍵值請將鍵值放在外部_#Vue_09

vue template 不可使用鍵值請將鍵值放在外部_#Vue_10