如根据后端给的属性进行给节点调整颜色。(不要忘记子级赋值的情况,之前因为子级的样式没有改变这个又想了很久,后来用双层forEach就解决了)
方法如下:
第一步,自定义插槽,在获取树数据的时候就进行遍历,并且进行插槽的设定。
const scopedSlots = { title: 'custom'}
// this.afterData为树数据
this.afterData.forEach(item => {
item.scopeSlots = scopedSlots
//不要忘记子级的情况,若不需要则不用以下情况
if (item.children) {
item.children.forEach(child => {
child.scopedSlots = scopedSlots
})
}
})
第二步,进行插槽配置赋予自定义style
<a-tree>
<template slot="custom" slot-scope="item">
<span v-if="item.color === red" style="color: red">{{item.title}}</span>
// item.color为后端传给我的一个属性,在这里面判断一下 若存在就改颜色
<span v-else>{{item.title}}</span>
</template>
</a-tree>