我正在尝试使某些表单字段对我的用户完全只读,我在 Angular 14 版本中使用反应式表单。
我想绑定一个值,但用户不应该与表单字段交互。我尝试在设置值后禁用该控件,但它没有按预期工作。
control?.setValue(value);
control?.disable({ emitEvent: false });
使用反应式表单时,需要使用方法
disable
来代替
const control = this.formGroup.get('someControlName');
control.disable();
您还可以使用
在初始化时禁用表单控件this.formGroup = new FormGroup({
someControlName: new FormControl({value: 'Nancy', disabled: true}),
});
或
this.formGroup = this.fb.group({
someControlName: [{ value: '', disabled: true }],
});
[disabled]
属性方法应仅用于模板驱动表单([(ngModel)]
类型)