Angular 是否有任何选项可以延长在mat select中搜索的时间
我有一个mat select,它的工作原理与任何其他下拉选择一样,但在使用应用程序时,用户单击下拉列表(它是一个长列表),并从键盘键入,例如“goo”。现在,如果用户键入例如“goo”字母的速度非常快,它会工作,并且选项“Google”处于焦点位置,但是如果键入速度稍慢,而不是选择“Google”,则会选择“Oracle”,因为在示例中键入的最后一个字母是“o” 是否有任何选项可以延长计时,这样当用户转到下拉列表并键入稍慢的内容时,仍然可以转到正确的选项 希望清楚,尽量用一个具体的例子来解释。:)Angular 是否有任何选项可以延长在mat select中搜索的时间,angular,typescript,angular-material,Angular,Typescript,Angular Material,我有一个mat select,它的工作原理与任何其他下拉选择一样,但在使用应用程序时,用户单击下拉列表(它是一个长列表),并从键盘键入,例如“goo”。现在,如果用户键入例如“goo”字母的速度非常快,它会工作,并且选项“Google”处于焦点位置,但是如果键入速度稍慢,而不是选择“Google”,则会选择“Oracle”,因为在示例中键入的最后一个字母是“o” 是否有任何选项可以延长计时,这样当用户转到下拉列表并键入稍慢的内容时,仍然可以转到正确的选项 希望清楚,尽量用一个具体的例子来解释。:
{{c.CompanyName}
您可以将TypeaHeadBounceInterval设置为
编辑:此选项仅在8之后可用*
等待一秒钟的示例:
<mat-select [typeaheadDebounceInterval]="1000" placeholder="Company Name" [compareWith]="compareFunc" [(value)]="data">
<mat-option *ngFor="let c of companies" [value]="c">{{c.CompanyName}}</mat-option>
</mat-select>
{{c.CompanyName}
您只提供了HTML,从中看不出什么。请提供相关的Js代码,以及input
用户在哪里编写搜索查询“长列表”有多长?如果我们说的是成千上万或成千上万,您可能想考虑从后端异步地过滤这个,而不是在客户端上进行过滤。如果我们说的是100,那么你可能没问题。但是,如果您在客户端搜索中看到延迟,您可能需要后端过滤器。是的,这是我想要实现的,但不幸的是angular 7.x中没有。
<mat-select [typeaheadDebounceInterval]="1000" placeholder="Company Name" [compareWith]="compareFunc" [(value)]="data">
<mat-option *ngFor="let c of companies" [value]="c">{{c.CompanyName}}</mat-option>
</mat-select>