后端同事返回的级联选择器数据的children是childrens,而组件渲染只识别children,所以需要props自定义传入,代码如下
html
<el-form-item label="应用页面:" prop="appId">
<el-cascader
:props="{ children: 'childrens' }"
:options="options"
v-model="formData.appId"
clearable
@change="handleChangecasca2"
></el-cascader>
</el-form-item>
因为后端同事最后一层对象也返回了children,但是数据是空,这时候级联的最后一层就没法选择,所以需要将最后一层对象的children设置为undefine,这样子就可以选了
this.getTreeData(this.options); //传入数据处理
js
// 递归判断列表,把最后的children设为undefined
getTreeData(data) {
for (var i = 0; i < data.length; i++) {
if (data[i].childrens.length < 1) {
// children若为空数组,则将children设为undefined
data[i].childrens = undefined;
} else {
// children若不为空数组,则继续 递归调用 本方法
this.getTreeData(data[i].childrens);
}
}
return data;
},