element级联选择器选择获得完整数组

  • element级联选择器选择获得完整数组已关闭评论
  • 236 次浏览
  • A+
所属分类:Web前端
摘要

 element组件的change方法默认获取的只有选择的id,如果同时我们想要获得选中的name或其他数据则是不行的

 element组件的change方法默认获取的只有选择的id,如果同时我们想要获得选中的name或其他数据则是不行的

这时候组件本身给我们提供了方法

element级联选择器选择获得完整数组

下面是使用方法

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