element級聯選擇器選擇獲得完整陣列
阿新 • • 發佈:2022-04-08
element元件的change方法預設獲取的只有選擇的id,如果同時我們想要獲得選中的name或其他資料則是不行的
這時候元件本身給我們提供了方法
下面是使用方法
HTML
<el-form-item label="排查地點" class="requireds-label"> <el-cascader v-model="checkPlaceName_ids" :options="regionInfoOptions" :props="customProps" @change="handleChange" clearable filterable></el-cascader> </el-form-item>
script
根據不同需求獲得資料,我這裡需求是獲得選擇的最後一個id和選擇的name‘/’分割拼接字串
data() {
return {
checkPlaceName_ids:'', // 繫結回顯的引數
regionInfoOptions: [],// 請求介面獲得的陣列
customProps:{
value: 'id', // 自定義當前陣列的鍵名
label: 'name',
children: 'children'
}
}
}
//element元件裡的 getCheckedNodes 獲取選中的節點 getCascaderObj(val, opt) { return val.map(function(value, index, array) { for (var itm of opt) { if (itm.id == value) { opt = itm.children; return itm; } } return null; }); }, handleChange(value) { this.form.checkPlaceCode = value[value.length-1]; const vals = this.getCascaderObj(this.checkPlaceName_ids, this.regionInfoOptions); //選中節點資料 var names = [] for(var i =0;i<vals.length; i++) { names.push(vals[i].name) } var str = names.join('/'); this.form.checkPlaceName = str; //賦值給傳送的引數 },
原文地址:vue級聯選擇器的getCheckedNodes用法_施玥喵的部落格-CSDN部落格_getcheckednodes