2019-06-26 關(guān)于iView中select控件綁定兩個值的問題

vue中select綁定多個值及數(shù)據(jù)回顯

很久沒有寫文章了, 這篇文章主要是記錄我在項(xiàng)目中遇到的一個小問題,其實(shí)說小也不小,由于剛接觸vue和iViewUI,對于其中select如何綁定多個值我還不是很清楚,查了一下官網(wǎng),官網(wǎng)上例子是下面這樣的:

v-model只能是value的值,又因?yàn)閷傩?label-in-value=“true” 即:在返回選項(xiàng)時,是否將 label 和 value 一并返回,默認(rèn)只返回 value,所以我就想是不是可以用label來傳遞另一個值于是我就采用了第三種方法解決了這個問題。

下面是我找到的其他兩種方法以及我使用的方法,僅供參考,如有問題還望各位不吝賜教。

?1.拼接value

后來在群里問了問,說是可以改成這樣的:value="item.value+item.label",想來大家應(yīng)該也懂這個意思,為了在傳值的時候更方便,可以把它改成這樣:value="item.value+'/'+item.label",之后就可以很方便的這樣value.split('/')[0]取值了。

2.綁定索引

還有一種方法就是不綁定具體的值,而是去綁定索引值:value="index",在獲取值的時候可以這樣獲取options[index].value.

3.綁定事件

3.數(shù)據(jù)回顯

以上三種方法都可以很好的解決select綁定多值的問題,但是我們不妨多想一點(diǎn),在新增操作的時候可以這樣,那么編輯的時候怎么回顯呢?select會根據(jù)綁定值與某個option的value值是否相同來判斷是否選中,在上述兩個方法中,我們不可能為了這么一個操作讓后臺在數(shù)據(jù)庫中多存一個拼接好的value或者一個索引,想必后臺同學(xué)也不會愿意的。對于第一種方式,回顯時只需要將從后臺獲取的數(shù)據(jù)拼接在一起就行,對于第二種方式,需要去進(jìn)行循環(huán)對比,找出對應(yīng)的索引值,然后進(jìn)行賦值,而對于第三種方式,則正常獲取對象就可以了。

?4.總結(jié)

這雖然是個挺常見的問題,但對于我來說是個不小的問題,現(xiàn)在公司項(xiàng)目不那么急,抽空記錄一下。這只是我自己的想法,如果您有更好的方法,不妨分享一下。


相關(guān)鏈接:

vue中select綁定多個值及數(shù)據(jù)回顯

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容