Отключение списка с полем формы - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть раскрывающийся список строк, и я пытаюсь переключить, включен ли раскрывающийся список с помощью элемента управления формы. Насколько я понимаю, включение работает просто отлично, но для отключения я пытаюсь сделать два обновления формы одновременно, что вызывает проблемы.

Сначала я исправляю значение accountType на ноль, затем пытаюсь отключить. Проблема в том, что, поскольку я обновляю форму дважды, поле не отключается в пользовательском интерфейсе. Я могу отключить его с помощью timeout, но я бы предпочел использовать что-то более элегантное. Я пытался добавить [attr.disable] в тег mat-select, но ничего не сделал.

HTML

<mat-form-field>
  <mat-select formControlName="accountType">
      <mat-option [value]="type" *ngFor="let type of myTypes"> {{type}}</mat-option>
  </mat-select>
</mat-form-field>

ц

toggleAccountType(serviceName: string) {
    if (serviceName !== 'A' && serviceName !== 'B' && serviceName !== 'C') {
      /** these two lines are the problem **/
      this.inheritedForm.patchValue({accountType: null});
      this.inheritedForm.get('accountType').disable();
    } else {
      this.inheritedForm.get('accountType').enable();
    }
  }
...