Как обрабатывать, если в автозаполнении материала указан неправильный элемент - PullRequest
0 голосов
/ 01 апреля 2020

Я использую автозаполнение материала в моем приложении 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, поэтому моя форма очищается, поскольку ее данные связаны с этим объектом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...