我有一个与现有问题相关的问题
无法使用 this 禁用 matInput 元素
建议的答案效果很好:
ngOnInit() {
this.form = this.fb.group({
name: new FormControl({ value: '', disabled: this.disabled })
});
但是当我将 this.disabled 值更改为 true 时 - 禁用属性不会更改。有没有办法更改 matInput 的 disabled
属性?
最佳答案
您不能使用该表单,因为当您创建 FormControl
时,您将传递该值,在您的情况下为 this.disabled
的值。您没有绑定(bind)属性,您只是传递一个值来进行一些检查,该值不反射(reflect)输入属性的更改。
您无法通过这种方式实现您的目标,您需要手动启用和禁用您的输入,如下所示:
let control = this.form.get('name')
control.disabled ? control.enable() : control.disable();
显然,您可以将其直接放入模板中的点击事件中,如下所示:
<button (click)="this.form.get('name').enable()">Enable</button>
关于angular-material - 更改 matInput 的禁用属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52253793/