ng-zorro tree-select 控件 [(ngModel)]绑定的值改变后同步失败
问题描述
使用<tree-select>控件复选功能时,[(ngModel)]绑定的变量值通过输入流传入,当传入的值改变时,tree-select控件显示选中的节点只会增加,不会减少
问题出现的环境背景及自己尝试过哪些方法
尝试在监听到[(ngModel)]绑定值变化后,通过[(ngModel)]绑定值更新节点的选中状态。可以使<tree-select>的展开部分勾选显示正确,但输入框显示所选的节点值没有反应,且再次手动选择其他节点时,之前取消的节点再次被选中
相关代码
<nz-tree-select
[nzDefaultExpandAll]="true"
[nzNodes]="nodes"
[nzPlaceHolder]="please choose"
[(ngModel)]="selectData"
[nzMultiple]="true"
(ngModelChange)="onSelect($event)" name="treeSelect">
</nz-tree-select>
if (changes.selectNodes) {
this.selectData = this.selectNodes;
this.updateSelectStatus(this.nodes, this.selectNodes);
}
public updateSelectStatus(treeData, selectKeys) {
for (const item of treeData) {
item.isSelected = (_.indexOf(selectKeys, item.key) !== -1) ? true : false;
if (item.children.length) {
this.updateSelectStatus(item.children, selectKeys);
}
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
[(ngModel)]绑定值变化后,<tree-select>显示正确,直接点击<tree-select>节点时,也选择正确
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论