<el-tree ref="treeResRef" :render-content="renderContent"
:data="treeRigserData" show-checkbox
default-expand-all node-key="id"
highlight-current :props="defaultProps" />
renderContent(h, { node, data, store }) {
// status 0 离线 1在线
if (data.status === 0) {
// 离线设备红色
return <span style='color:red'>{node.label}</span>;
} else {
// 其他的在线设备包括上一级的颜色正常颜色
return <span style='color:#737478'>{node.label}</span>;
}
},
// 给树形组件中增加 树形的每个子元素的 颜色标志 status
treeDataFun() {
getTreeSuc().then(res => {
// 批量策略配置
this.treeData = res.data
// 批量解除注册
this.treeRigserData = res.data.map((item, index) => {
if (item.children) {
for (const i in item.children) {
// 根据禁用的状态来控制离线设备颜色标志
if (item.children[i].disabled) {
this.$set(item.children[i], 'status', 0)
} else {
this.$set(item.children[i], 'status', 1)
}
this.$set(item.children[i], 'disabled', false)
}
}
return item
})
})
},
这样就是看到不同颜色的树形了