我有一个带有垫子自动完成功能的输入框。我点击了一个搜索按钮来获取匹配的条目以填充建议。虽然总体上它有效,但行为有点烦人。这就是发生的事情:
- 我输入 ra 并回车。
- 在进度指示器返回之后,我没有看到其他视觉变化。
如果我按下向下或向右箭头等,我看不到任何建议
如果我删除最后一个字符,那么它会显示建议。
用户界面代码如下所示:
<div fxLayout="row" fxLayoutAlign="start center">
<div>
<form >
<mat-form-field >
<input type="text" placeholder="Opportunity name" aria-label="Number" matInput [formControl]="myControl" [matAutocomplete]="auto">
<mat-autocomplete #auto="matAutocomplete" [displayWith]="displayFn">
<mat-option *ngFor="let option of filteredOptions | async" [value]="option">
{{ option.name }}
</mat-option>
</mat-autocomplete>
</mat-form-field>
</form>
</div>
<div> <mat-icon (click)="refreshOptyList()">search</mat-icon>
</div>
</div>
refreshOptyList 函数如下:
refreshOptyList(){
this.diaRef = this.dialog.open(MessageDialogComponent, {
width: '250px',
disableClose: true,
data: { "message": "Please wait...", "showProgress": true }
});
this.revSvc.getOptyList(this.keyword).then(
(val:any) => {
this.diaRef.close()
this.optyArr = JSON.parse(val._body).items;
for(let op of this.optyArr){
this.options.push(new Opty(op.Name, op.OptyNumber))
}
}
)
}