Изменить отключенное значение атрибута для matInput - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть проблема, связанная с существующим вопросом

Невозможно отключить элемент matInput с помощью this

Предлагаемый ответ работает просто отлично:

ngOnInit() {
this.form = this.fb.group({
    name: new FormControl({ value: '', disabled: this.disabled })
});

Но когда я изменяю значение this.disabled на true - отключенный атрибут не изменяется. Есть ли способ изменить атрибут disabled для matInput?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы не можете использовать эту форму, потому что когда вы создаете FormControl, вы передаете это значение, в вашем случае значение this.disabled. Вы не привязываете свойства, вы только передаете значение для некоторых проверок, это значение не отражает изменения входных свойств.

Вы не можете достичь своей цели таким образом, вам нужно включить и отключить ввод вручную, например:

let control = this.form.get('name')
control.disabled ? control.enable() : control.disable();

Очевидно, что вы можете поместить его в событие клика непосредственно в шаблоне, что-то вроде этого:

<button (click)="this.form.get('name').enable()">Enable</button>
...