Angular+Firestore“更新”调用失去输入焦点

Angular+Firestore“更新”调用失去输入焦点,angular,firebase,google-cloud-firestore,angularfire2,Angular,Firebase,Google Cloud Firestore,Angularfire2,当我在模糊的输入字段上失去焦点时,我想用新输入的值更新Firestore数据库。代码的功能运行得很好。数据在Firestore中更新。但是,如果我从一个输入跳转到另一个输入,我会立即失去对新聚焦输入的关注,因为Angular正在后台使用先前聚焦输入的值更新Firestore DB。这提供了一个糟糕的用户体验,因为用户被迫第二次单击输入字段以再次获得焦点: 我做错了什么?这个问题能解决吗?以下是使用的代码片段: HTML: 打字稿: updateInputFieldid:string,value:

当我在模糊的输入字段上失去焦点时,我想用新输入的值更新Firestore数据库。代码的功能运行得很好。数据在Firestore中更新。但是,如果我从一个输入跳转到另一个输入,我会立即失去对新聚焦输入的关注,因为Angular正在后台使用先前聚焦输入的值更新Firestore DB。这提供了一个糟糕的用户体验,因为用户被迫第二次单击输入字段以再次获得焦点:

我做错了什么?这个问题能解决吗?以下是使用的代码片段:

HTML:

打字稿:

updateInputFieldid:string,value:string{ this.afs.collection'GRD_active'.docid.update{comment:value}; }
谢谢大家的支持

我们遇到了完全相同的问题。基本上,更新是重新呈现输入块

您只需要为for循环实现trackBy函数,就这样

<div *ngFor="let item of collection;trackBy: trackByFn">
</div>

trackByFn(index, item) {
    return index; 
}

您可以在以下位置获得更多信息:

您是否尝试过使用反应式表单及其可观察到的值更改,而不是绑定到输入的模糊事件?我使用普通输入进行了测试,焦点按预期工作。也许它与用于显示或向输入添加附加功能的外部库有关。为了解决这个问题,查看document.activeElement的焦点在哪里可能很有用