在焦点上打开 ngx-bootstrap typeahead

opening ngx-bootstrap typeahead on focus

有没有办法在用户输入时打开ngx-typeahead。换句话说,在 focus

如果我在输入框中键入单个字符,然后按退格键,我可以打开下拉菜单。

您需要做两件事才能使这成为可能:

首先,设置 [typeaheadMinLength]="0" 以在尚未输入任何内容时打开输入。

其次,由于提前输入是表单中的第一个字段,您可能需要通过设置 [typeaheadWaitMs]="300(或某个值)来添加一个小的延迟。这是因为输入可能会收到在值可用之前聚焦。

示例:

只需将其添加到输入中

[typeaheadMinLength]="0"

设置 [typeaheadMinLength]="0" 是实现此目的的方法,但它也有触发搜索的副作用,即使尚未输入任何内容。我的情况是我需要 运行 搜索焦点,但前提是文本框已经有一些内容。我使用对输入值的引用来做到这一点:

<input #searchBox
[typeaheadMinLength]="searchBox.value?.length > 0 ? 0 : 1"
/>