angular - ngrx 突出显示网格中新添加的项目

标签 angular ngrx ngrx-store

我正在使用 ngrx(redux) 并且我有一个显示的项目列表(虚拟滚动)。 单击工具栏添加按钮时,我会发送添加操作,reducer 会向列表中添加一个对象并返回新状态。

如何突出显示新创建的行?

我是否应该保留一个新属性,其 ID 是新创建的记录?我可能还必须在 View 中滚动新创建的项目。因为列表实际上是滚动的,所以如果用户滚动列表,组件可能会被销毁并重新创建。

最佳答案

是的,将刚刚创建的 isHighlighted 设置为 true。假设您正在使用类似 reselect.js 的东西来编写您的选择器,然后您可以将此列表映射到您的项目 dumb component .

然后在你的 Item dumb 组件中,如果 isHighlighted 为真,那么你将突出显示。

就虚拟滚动会发生的额外复杂性而言,Store 不应该关心 dom 元素被销毁或重新创建。因此,如果您突出显示的 Item 组件从 dom 中删除,该项目仍应保留在 Store 中。

关于angular - ngrx 突出显示网格中新添加的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814182/

相关文章:

angular - 将数据绑定(bind)到 Angular 2 路由组件

angular - 在 Angular 方法中返回类值

angular - NgRX 8 效果 - createEffect() 不起作用 - 类型 'Observable<unknown>' 无法分配给类型“Observable<Action>”

javascript - 为什么计数器值只在第一次递增和递减?

angular - 用 Spectator 模拟 NgRx store

angular - 当应用程序处于后台 Ionic 3 时,点击事件的推送通知不起作用

javascript - Angular:DOM更新后的调用方法

angular - 编写自定义 ngrx 运算符并返回源可观察类型

angular - NGRX 过滤器导致 ExpressionChangedAfterItHasBeenCheckedError

angular - 将初始状态对象初始化为空对象而不是未定义的