Angular 树形结构数据,删除数据和双向绑定的问题

chanchaw 2018-12-19 07:06:20
环境介绍:
我的前端项目使用了Angular6、ng-zorro,树形结构使用了ng-zorro中的树形组件
我的目标:
在前端实现删除树形结构中的一个节点。
现在的做法:
要删除树形结构中的一个节点是向后端请求删除数据库中的一行数据,然后再次请求后端
获取所有数据重新填充树形组件
但是这样做有个问题,本来多级目录是展开的,重新刷新(删除DB中数据重新获取所有)
后整个树形显示为全部折叠状态很明显的有个刷新的过程,我想要做到用户无感觉 - 删除一个节点就只有该节点消失,不出现折叠、展开等的变动现象

我的问题:
在ts文件中遍历树形结构的数据找到该节点后删除,但是前段UI上没有刷新,本来应该
被删除的节点还存在 - Angular不是双向绑定的么?删除变更了,显示就应该同时变更了,但是没有达到这个预期,
下面截图说明了删除前后的数据我标记了顺序,不知能否看得懂。
...全文
698 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chanchaw 2019-08-10
  • 打赏
  • 举报
回复
引用 2 楼 夕颜615 的回复:
遇到同样的问题,你能把再次请求获取所有数据后面使用filter返回新的数组地方的代码贴一下吗?
我IDE 没开,代码大致是这样的: this.老数组 = this.老数组.filter( item => return item.name !=="染厂" ); 你可以搜索数组的 filter 操作如何使用, filter 返回新的数组再赋值给绑定到 UI 控件的属性,那么UI上就变动了
夕颜615 2019-08-09
  • 打赏
  • 举报
回复
遇到同样的问题,你能把再次请求获取所有数据后面使用filter返回新的数组地方的代码贴一下吗?
chanchaw 2018-12-21
  • 打赏
  • 举报
回复
哎,自问自答吧。使用filter返回新的数组就可以了。

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧