Angular Материал автозаполнения не меняется - PullRequest
1 голос
/ 23 апреля 2020

У меня есть два текстовых поля. Один для категории. Другой для значений категории. Текстовое поле 1 является раскрывающимся, а текстовое поле 2 - автоматическим заполнением.

My Array

[{"name":"A", "value":1},
{"name":"A", "value":2},
{"name":"A", "value":3},
{"name":"B", "value":4},
{"name":"B", "value":5},
{"name":"B", "value":6}]

Код

 <select [(ngModel)]="lName" name="Lname" (ngModelChange)="onChange($event)" name="name">
                      <option value="A">A</option>
                      <option value="B">B</option>
                    </select>
           <input   [formControl]="myControl" [matAutocomplete]="auto">
                      <mat-autocomplete #auto="matAutocomplete">
                        <mat-option *ngFor="let option of filteredOptions | async" [value]="option">
                          {{option}}
                        </mat-option>
                      </mat-autocomplete>

TS

    myControl = new FormControl();
  filteredOptions: Observable<string[]>;
  ngOnInit() {
    this.filteredOptions = this.myControl.valueChanges
      .pipe(
        startWith(''),
        map(value => this._filter(value))
      );
  }

 onChange(value){
     var result = this.lookup_report.filter(obj => {
          if(obj.name=== value){
return obj.value;
}
        })
    }

  private _filter(value: string): string[] {
    const filterValue = value.toLowerCase();
    return result.filter(option => option.toLowerCase().includes(filterValue));
  }

Моя проблема в том, что когда я ввожу A, я могу получить значение 1,2,3, и я их очищаю. Я снова ввожу B, второе текстовое поле автоматически заполняет 1,2,3. Мне не нужно их переносить, когда я ввожу другое имя. Если я ввожу 4 при автозаполнении, то отображаются значения для B

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