我无法找到使用角树组件禁用复选框节点的任何方法。没有选项将树标记为禁用,因此应禁用与树数据一起出现的复选框。请建议
问问题
774 次
1 回答
0
可以通过actionMapping
内部选项属性https://angular2-tree.readme.io/v1.2.0/docs/options来禁用节点。这里可以覆盖鼠标的点击事件。
<Tree [nodes]="nodes" [options]="treeOptions"></Tree>
在我的树数据中,我在每个节点上保留了一个属性isSelectable
,即true|false
. 如果为真,我会继续选择节点,否则它不会做任何事情。这是我传递给tree
组件的完整选项。
public options: ITreeOptions = {
isExpandedField: 'expanded',
idField: 'uuid',
getChildren: this.getChildren.bind(this),
actionMapping: {
mouse: {
click: (tree, node, $event) => {
if ( node.data.isSelectable ) {
this.isNodeSelected.emit(node.data);
this.alreadySelected = true;
this.preSelected.tree = tree;
this.preSelected.node = node;
this.preSelected.event = $event;
TREE_ACTIONS.ACTIVATE(this.preSelected.tree, this.preSelected.node, this.preSelected.event);
}
}
}
},
nodeHeight: 23,
allowDrag: (node) => {
return false;
},
allowDrop: (node) => {
return false;
}
};
于 2020-08-25T11:17:48.220 回答