详解关于element级联选择器数据回显问题
程序员文章站
2024-02-06 19:49:34
element级联选择器数据回显问题
对于前端小菜鸡来说,被这个问题也是困扰了好久。也是百度的方法。
表单部分代码:
element级联选择器数据回显问题
对于前端小菜鸡来说,被这个问题也是困扰了好久。也是百度的方法。
表单部分代码:
<el-form-item label="部门名称:" prop="deptid"> <el-cascader placeholder="请选择部门" :props="depshowtype" :options="deptdata" filterable change-on-select v-model="selectdeptid"> </el-cascader> </el-form-item>
data中定义:
depshowtype:{ value:'id', label:'name', children:'nodes' }, selectdeptid:[],
methods中:
// 编辑 handleedit(data){ this.textshow=true; this.textform=data; this.selectdeptid=this.changedetselect(data.deptid,this.deptdata) //数据双向绑定 }, changedetselect(key,treedata){ let arr = []; // 在递归时操作的数组 let returnarr = []; // 存放结果的数组 let depth = 0; // 定义全局层级 // 定义递归函数 function childreneach(childrendata, depthn) { for (var j = 0; j < childrendata.length; j++) { depth = depthn; // 将执行的层级赋值 到 全局层级 arr[depthn] = (childrendata[j].id); if (childrendata[j].id == key) { returnarr = arr.slice(0, depthn+1); //将目前匹配的数组,截断并保存到结果数组, break } else { if (childrendata[j].nodes) { depth ++; childreneach(childrendata[j].nodes, depth); } } } return returnarr; } return childreneach(treedata, depth); },
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。