Angular 6 не может отключить включение ввода с локальной ссылкой - PullRequest
0 голосов
/ 25 февраля 2019

Я использую реактивную форму в своем угловом приложении.

measurement: new FormControl(true),
volume: new FormControl(0)

И в моем html я использую как

<input type="checkbox" formControlName='measurement' #measurement>Volume
<input formControlName='volume' type="number" class="form-control input-md" [attr.disabled]="!measurement.checked">

Когда я проверяю флажок «Громкость»он должен включить контроль громкости.Но это не переключение между включением и отключением.Но если я утешу 'measure.checked', то это будет показывать true или false.Как я могу включить или отключить через локальную ссылку?Спасибо.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Этого можно добиться с помощью функции машинописи.

Измените приведенную ниже строку в своем коде,

<input formControlName='volume' type="number" class="form-control input-md" [attr.disabled]="!measurement.checked">

на

<input formControlName='volume' type="number" class="form-control input-md" [attr.disabled]="disableVolume()">

и в своем файле ts, добавьте функцию disableVolume(),

  disableVolume() {
    if(this.form.get('measurement').value === true) {
      this.form.get('volume').enable();
    } else {
      this.form.get('volume').disable();
    }
  }

Рабочий пример: https://stackblitz.com/edit/angular-form-array-example-cc27c3

0 голосов
/ 25 февраля 2019

Отключено не может быть установлено динамически, как ваш подход для получения дополнительной информации https://github.com/angular/angular/issues/11271.Но вы можете включить или отключить через функцию в onchange, как control.enable (), control.disable ()

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