Я использую автозаполнение материала в моем приложении Angular. Но проблема, с которой я столкнулся, заключается в том, что я понятия не имею, как справиться, если кто-то указал или ввел элемент, которого нет в списке. Если кто-то выбрал элемент из списка, я обрабатываю его и на основании ключа, которым я заполняю страницу, используя привязку данных.
Вот мой код
HTML
<form class = "tp-form">
<mat-form-field class = "tp-full-width">
<input type = "text"
placeholder = "Project Code"
aria-label = "PCODE"
matInput
[formControl] = "myPcodes"
[matAutocomplete] = "auto">
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="onPcodeChange($event)">
<mat-option *ngFor="let option of filteredOptions | async" [value]="option">
{{option}}
</mat-option>
</mat-autocomplete>
</mat-form-field>
</form>
TS
onPcodeChange(event: MatAutocompleteSelectedEvent) {
let pCode: string = event.option.value;
//let pName:string = this.projects.find(x=>x.projectCode=pCode).projectName;
//alert(pName);
this.myProject = this.projects.find(x => x.projectCode = pCode);
}
Так что я пытаюсь добиться, если пользователь вводит неправильный элемент, он должен очистить объект myProject, поэтому моя форма очищается, поскольку ее данные связаны с этим объектом