树状组件需要有默认属性名,每层名称一致才可渲染:
<el-tree
:data="menuTree"
:props="menuTreeDefaultProps"
node-key="id"
@node-click="menuTreeHandleNodeClick"
>
menuTreeDefaultProps1: {
children: 'data',
label: 'label'
},
但往往后端传来的数据可能每层属性名都不一样,所以前端需要对接收的数据进行格式化
对象属性键名修改:
data: {
code: 0,
text: '数据分析',
plant: [],
},
// 把data下的plant改成children
data: {
code: 0,
text: '数据分析',
children: [],
},
关键语句
let newData= JSON.parse(JSON.stringify(this.data).replace(/plant/g,"children"))
数组属性键名修改:
plant: [{
plant_code: 1,
plant_name: "烘干车间",
device:[],
},