我正在尝试让项目预先选定,所以我使用了SelectionModel,它工作得很好,但问题发生了,点击父项来取消选择所有的子项,父项必须被点击3次才能工作。
ngOninit() {
this.treeControl.dataNodes.forEach(node => {
if ( node.level === 2 && res.item_ids.includes(+node.id)) {
this.checklistSelection.toggle(node);
}
});
}正如您所看到的,我选择了与给定数组item_ids匹配的级别上的所有项,它工作得很好,如果选择了所有子项,它也会选择父项,但当我取消选择父项时,它会保持子项处于选中状态,直到I(取消选择,然后选择,然后再次取消选择)父项。
发布于 2018-12-05 03:23:57
我按照Angular material网站https://stackblitz.com/angular/yvdqyjdmmke?file=app%2Ftree-checklist-example.ts中提供的示例找到了解决方案
我使用了提供的函数todoItemSelectionToggle(),并确保在函数中使用了this.checkAllParentsSelection(node);。
https://stackoverflow.com/questions/53619773
复制相似问题