vue使用Element-ui中tree中根据自定义条件来禁止点击checkedbox

2,001 阅读1分钟

1.在tree组件中加入props属性:

<el-tree
  :data="data"
  show-checkbox
  node-key="id"
  :expand-on-click-node="true"
  ref="tree"
  :props="defaultProps"
  :render-content="renderContent2"
>
</el-tree>

2.在data数据中定义defaultProps

defaultProps: {
  children: 'children',
  label: 'label',
  disabled: this.disabledFn,
},

3.根据defaultProps数据中disabled属性指定的函数disabledFn来数据自己的判断条件,来决定是否要禁止该节点被点击:(我这里的判断条件是,该节点是否有某个数据,没有就禁止点击)

// 树节点没有数据时不能进行勾选:也使其不能进行漫游
disabledFn(data, node) {
  // console.log("disabled函数: ", data, node);
  if (!data.path) {  // 根据自己的节点数据条件设置判断,
    return true;
  } else {
    return false;
  }
},

4.总结:

tree还有许多可拓展的功能点,认真搜索总会找到结局方案的。