【发布时间】:2022-01-06 09:43:50
【问题描述】:
我有一个使用 *ngFor 呈现的用户列表。用户可以选择通过在输入字段中输入名称来过滤列表。
但是,当用户开始输入以进行过滤时,一旦列表开始向下过滤,输入字段就会失去焦点。在 stackoverflow 上的几个不同帖子(1、2、3)之后,我在*ngFor 中使用了trackBy function,以允许 Angular 唯一标识项目并根据需要执行 DOM 更新。
Angular 文档描述了trackBy 函数对于“在修改迭代时保留任何特定于 DOM 的 UI 状态(如光标位置、焦点、文本选择)”很重要。但在我的例子中,当数组被修改时,这种 UI 焦点状态会丢失。
Here is a link to a reproducible scenario in stackblitz.那里也描述了问题描述和重现步骤。
【问题讨论】:
标签: angular ngfor vmware-clarity