關於elementUI select控件綁定多個值(對象)
elementUI select控件綁定多個值
通常使用的時候v-model都是綁定一個值,這樣沒有問題,但在某些需求中會獲取選擇項的多個值。
那麼v-model就需要綁定一個對象,e餓瞭麼的官網說明瞭綁定對象的時候必須綁定value-key值,否則會出現選擇項無法改變的情況。
value-key可以使用選擇項中的值。
當時沒有看文檔的時候,自己也想瞭一個辦法,就是綁定選擇項的索引值,然後到對應的nameList數組中取出對應的項也可以。
el-select綁定多個值id、value
el-select通常v-model綁定一個form的表單屬性,但是在給後臺傳值的時候,往往在選擇瞭以後,不僅要傳name也要傳id,所以需要考慮其他辦法。
原v-model綁定方法:選中的值綁定form.serviceTypeName,但無法獲取id
<el-form-item label="項目分類" prop="serviceTypeName"> <el-select v-model="form.serviceTypeName" placeholder="請選擇"> <el-option v-for="item in classifiyOptions" :key="item.serviceTypeId" :label="item.serviceTypeName" :value="item.serviceTypeName" /> </el-select> </el-form-item>
改進方法:通過綁定index,@input綁定事件作用於多個值
改進後:
<el-form-item label="項目分類" prop="serviceTypeName"> <el-select v-model="form.serviceTypeName" @input="selectChangeParent" placeholder="請選擇" > <el-option v-for="(item, index) in classifiyOptions" :key="index" :label="item.serviceTypeName" :value="index" /> </el-select> </el-form-item>
selectChangeParent方法:
// 新增綁定id函數 selectChangeParent(index) { this.form.serviceType = this.classifiyOptions[index].serviceTypeId; this.form.serviceTypeName = this.classifiyOptions[index].serviceTypeName; },
這樣就實現瞭select組件綁定多個值:id和name
總結
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- vue實現省市區的級聯選擇
- 關於antd中select搜索框改變搜索值的問題
- 使用ElementUI循環生成的Form表單添加校驗
- Ant Design of Vue select框獲取key和name的問題
- 關於element-ui select 下拉框位置錯亂問題解決