1.1.1
chrome68 win10
https://stackblitz.com/edit/ng-zorro-antd-start-t5fr4t
1、搜索框输入1,点击搜索
2、结果栏没有结果,点击一下鼠标才出现
搜索完之后立即出现结果
没有结果出现
可能跟nz-list的changeDetection是OnPush有关,应该怎么做才能确保会更新界面
你应该提供一个新的数组,而不是在原数组上进行更改或增删。
每次搜索都是新值

@HsuanXyz 大佬,指导一下
@MagicWang 我也遇到这个问题了 请问大佬怎么解决的
列表上绑定的数据是list:
<nz-list [nzDataSource]="list"
当有变化的时候就重新给list一个新的数组,可以这样写:
this.list = [...this.list, new_item];
这样就起作用了。
为啥要提供一个新数组。。。。。心累💔
我还是没有解决,每次都是new的新数组,也不起作用
nzList 是OnPush的
仔细看angular的官网文档 https://www.angular.cn/guide/lifecycle-hooks#emonchangesem
当 power 属性的字符串值变化时,相应的日志就出现了。 但是 ngOnChanges 并没有捕捉到 hero.name 的变化。 这是第一个意外。
Angular 只会在输入属性的值变化时调用这个钩子。 而 hero 属性的值是一个到英雄对象的引用。 Angular 不会关注这个英雄对象的 name 属性的变化。 这个英雄对象的引用没有发生变化,于是从 Angular 的视角看来,也就没有什么需要报告的变化了。
edited:
这个issue提出的问题和以上解释无关,由cdkObserveContent问题引出
@vthinkxie ,大神,这个知道的,所以每次都是赋的新值
请看链接地址https://stackblitz.com/edit/ng-zorro-antd-start-t5fr4t
搜索框输入1,按enter键,无结果出现,鼠标点击一下结果就出现了
@cipchk 看一下keydown的情况下OnPush应该没有触发
@vthinkxie 明白了
@cipchk 怀疑在OnPush情况下 spin 上的 cdkObserveContent 没法很好的工作,你再check一下
@MagicWang 抱歉之前归类错误,可以用这个方式
https://stackblitz.com/edit/ng-zorro-antd-start-ps24u1?file=src%2Fapp%2Fapp.component.ts
暂时规避掉这个bug