我想让树随 node.currentMutiSelect 这个属性变化而产生样式变化。于是我修改elmentui-tree 的源码
这个是tree-node.vue第26行 开始的代码
<div
class="el-tree-node__content"
:class="{
'is-current-mul':node.mutipleSelected,
'is-current-mulreal':node.currentMutiSelect
}"
:style="{ 'padding-left': (node.level - 1) * tree.indent + 'px' }"
>
但是我在自己的业务代码里设置
node.currentMutiSelect = true
发现无效
最后发现,需要在 tree/node.js文件里的node构造函数里先设置 this.currentMutiSelect = false,这样你后面改node.currentMutiSelect时,才能把样式生效
constructor(options) {
this.id = nodeIdSeed++;
this.text = null;
this.checked = false;
this.indeterminate = false;
this.data = null;
this.expanded = false;
this.parent = null;
this.visible = true;
this.isCurrent = false;
this.type = null
this.customNum = []
this.currentMutiSelect = false
网友评论