2

我有一个与现有问题相关的问题

无法使用此禁用 matInput 元素

建议的答案很好用:

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

但是当我将 this.disabled 值更改为 true - disabled 属性不会更改。有没有办法改变disabledmatInput 的属性?

4

1 回答 1

3

您不能使用该表单,因为当您创建 a 时,FormControl您正在传递该值,在您的情况下是this.disabled. 您没有绑定属性,您只是传递一个值来进行一些检查,该值不反映输入属性的更改。

您无法通过这种方式实现目标,您需要手动启用和禁用输入,如下所示:

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

显然,您可以将其直接放入模板中的单击事件中,如下所示:

<button (click)="this.form.get('name').enable()">Enable</button>
于 2018-09-10T09:13:41.227 回答