我的自动完成功能有效,但未达到预期效果。我有2个电影标题:
"aaa"
"aaaaa"
当我开始输入结果过滤器时。问题是当我键入时,我必须输入 5作为,以便第一个标题消失而不是4,因为这不是匹配项,而第二个是 7 标题消失了,而不是6,因为这不是匹配项。
HTML
<input type="text" [(ngModel)]="searchValue" (keydown)="search($event)" />
TS
search($event) {
let param = $event.target.value;
this.startAt.next(param);
this.endAt.next(param + "\uf8ff");
this.movieSearched = this.afs
.collection("movies", ref =>
ref
.orderBy("title")
.startAt(param)
.endAt(param + "\uf8ff")
)
.valueChanges();
}
我什至尝试不使用$event.target.value
,而是使用2个数据出价变量searchValue
,但遇到相同的问题
答案 0 :(得分:1)
要确保通过任何方式(键入,剪切,粘贴)修改输入内容时,自动完成功能均有效,请处理ngModelChange
事件:
<input type="text" [(ngModel)]="searchValue" (ngModelChange)="search($event)" />
其中$event
是输入元素的内容:
search(param: string) {
...
}
答案 1 :(得分:0)
对不起,我通过使用@Override
public void onPostUpdate(PostUpdateEvent event) {
...
}
找到了解决方案。如果有人有更好的解决方案,请务必发布并获得您的观点:)
keyup