如何解决@circlon/angular-tree-component:如果没有在 Angular10 中使用复选框加载任何叶子,则无法在父级上触发选择事件
场景
嗨,我在 Angular 中使用 @circlon/angular-tree-component
(我尝试了版本 10 和版本 11),我通过扩展以异步方式加载每个节点的子节点(基本上我最初加载所有路由,而不是如果我扩展,使用箭头,一个节点,它将加载其子节点,依此类推,直到到达我无法展开的叶子,因为它的 hasChildren
属性设置为 false
)。
问题
问题是我在叶子节点和父节点上都使用了复选框,所以我为树的每个节点都有一个复选框。当我检查(所以我点击复选框)一个节点时,我希望触发 (select)
事件,但这仅在节点没有任何子节点时才有效,所以如果它是叶子。
在所有其他情况下,例如,如果我有一个具有 hasChildren=true
但没有加载任何子节点的节点,如果我手动展开节点直到我达到至少 1 个子节点,我可以选择父节点,并且将选择所有子节点,直到叶子/叶子为止。
预期行为 我期待以下行为,但我不知道我是否可以拥有它:基本上我希望能够检查任何节点,如果节点有或没有任何子节点,则触发(选择)事件,我只需要所选 ID 的列表。可能吗?
这是我的树的 HTML:
<tree-root #tree
[focused]="true"
[nodes]="this.alberatura.treeNodes"
[options]="this.alberatura.options"
[(ngModel)]="this.selectednode"
(moveNode)="this.alberatura.nodeMoved($event)"
(focus)="this.alberatura.selectNode($event)"
(dblclick)="openMoDaleditTree(editElementoTree,this.alberatura.selectednode)"
(select)="this.alberatura.onSelect($event)"
(deselect)="this.alberatura.ondeselect($event)"
(loadnodechildren)="true",ngDefaultControl>
<ng-template let-node let-index="index">
<div>
<span>{{index + 1}} - {{ node.data.name }}</span>
</div>
</ng-template>
<ng-template #loadingTemplate>Loading,please hold....</ng-template>
</tree-root>
这些是我的选择:
this.alberatura.options = {
allowDrag: true,allowDrop: true,useCheckBox: true,actionMapping: this.actionMapping
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。