Изменить значение атрибута disabled для matinput

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

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

Предлагаемый ответ работает нормально:

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

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

2
0
1 151
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

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

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

Другие вопросы по теме