Я использую mat-chip-list
вместе с mat-autocomplete
, ссылаясь на официальный angular пример материала https://material.angular.io/components/chips/overview#chip -вход и https://stackblitz.com/angular/arjnbxmepgn?file=src%2Fapp%2Fchips-autocomplete-example.html. Здесь показан тот же шаблон, что и в приведенном выше примере -
<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
с предложения. Если пользователь вводит текст, который не существует в предложениях, и нажимает клавишу «ВВОД», введенный текст отображается в микросхеме и открывает панель MatAutoComplate
. Я хочу остановить открытие панели MatAutoComplete
в таком случае. Я не хочу открывать панель предложений, если пользователь вводит неизвестный текст [т.е. текст, отличный от предложений]. Тот же случай можно увидеть в https://stackblitz.com/angular/arjnbxmepgn?file=src%2Fapp%2Fchips-autocomplete-example.html.
Если пользователь выбирает один из вариантов из предложений и нажимает клавишу «ВВОД», панель MatAutoComplete
не открывается , Это то, что я хочу в сценарии, когда пользователь вводит неизвестный текст во ввод и нажимает клавишу «ВВОД».
Любая помощь будет высоко оценена.