我通过参考官方角度材料示例https://material.angular.io/components/chips/overview#chip-input和https://stackblitz.com/angular/arjnbxmepgn?file=src%2Fapp%mat-chip-list
一起使用2Fchips-autocomplete-example.html。上面示例中显示的相同模板在这里 -mat-autocomplete
<mat-form-field class="example-chip-list">
<mat-chip-list #chipList aria-label="Fruit selection">
<mat-chip
*ngFor="let fruit of fruits"
[selectable]="selectable"
[removable]="removable"
(removed)="remove(fruit)">
{{fruit}}
<mat-icon matChipRemove *ngIf="removable">cancel</mat-icon>
</mat-chip>
<input
placeholder="New fruit..."
#fruitInput
[formControl]="fruitCtrl"
[matAutocomplete]="auto"
[matChipInputFor]="chipList"
[matChipInputSeparatorKeyCodes]="separatorKeysCodes"
(matChipInputTokenEnd)="add($event)">
</mat-chip-list>
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="selected($event)">
<mat-option *ngFor="let fruit of filteredFruits | async" [value]="fruit">
{{fruit}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
它工作正常,除了以下问题 -
一旦用户关注输入,MatAutoComplete
面板就会打开并显示建议。如果用户输入建议中不存在的文本并按下“ENTER”键,则输入的文本在芯片中可见并打开MatAutoComplate
面板。MatAutoComplete
在这种情况下,我想停止面板的打开。如果用户输入未知文本[即建议中以外的文本],我不想打开建议面板。在https://stackblitz.com/angular/arjnbxmepgn?file=src%2Fapp%2Fchips-autocomplete-example.html中可以看到相同的情况。
如果用户从建议中选择一个选项并按下“ENTER”键,则MatAutoComplete
面板不会打开。当用户在输入中输入未知文本并按下“ENTER”键时,这就是我想要的。
任何帮助将不胜感激。