1. 程式人生 > 其它 >element級聯選擇器選擇獲得完整陣列

element級聯選擇器選擇獲得完整陣列

 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