我最近将ngx-bootstrap从1.8.1升级到了3.0.1。升级后,前面的类型似乎无法正常工作。我正在使用这个例子:
https://valor-software.com/ngx-bootstrap/#/typeahead#async-data

与[typeaheadMinLength] =“ 3”

现在,如果我进行搜索,可以说“ abcdef”,然后在键入3个字符即abc之后开始搜索,然后输入abcd,abcde,abcdef等,就可以了。

但是现在,如果我一遍使用退格键删除输入文本框中的所有内容,也就是说,如果我通过一遍按退格键使abcdef变为空,那么一旦输入为空,它将再次显示对应于最小长度的下拉值,即abc 。

理想情况下,它应该清除下拉列表中的值,但是当您使用退格键快速删除它时,它看起来像保留最小长度令牌字符串的值。

从服务中获取数据并且数据量巨大时,它更加可见,因此需要花费一些时间来加载和清除。

可以使用typeaheadWaitMs模拟服务响应的延迟,并且可以使用以下示例来复制此问题:https://valor-software.com/ngx-bootstrap/#/typeahead#delay

https://github.com/valor-software/ngx-bootstrap/issues/4412

有人可以帮忙吗?

最佳答案

您必须检查搜索字段是否为空,然后清除包含值的列表。当按退格键时,会发生以下情况:当搜索长度达到阈值即abc时,它将获取结果并存储该结果,然后再不执行任何操作,因此abc的搜索结果将持续存在。如果值为空,则添加(keyup)="onKey($event.target.value)",清除包含下拉列表数据的列表。

关于javascript - Ngx-Bootstrap Typeahead在输入清除时保留下拉值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51038712/

10-12 15:25