You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中使用FormBuilder构建响应式表单时如何设置disabled属性

在FormBuilder的控件配置数组中,第一个位置的参数和FormControl构造函数的第一个入参完全兼容,你直接把包含value和disabled属性的配置对象放在这个位置即可实现和原写法一致的禁用效果。

修正后的完整代码如下:

this.myForm = this.fb.group({
    name: [this.item.name, Validators.required],
    active: [this.item.active],
    value: [{ value: this.item.value, disabled: !this.item.active }, this.item.active ? Validators.required : null]
}, {validators: customValidator()});

补充注意:上述写法仅会在表单初始化时设置一次value控件的禁用状态和验证规则,如果你需要在active字段切换状态时联动更新,可以给active控件添加valueChanges订阅,动态调用enable()/disable()方法调整value控件状态,同时更新对应验证规则。

内容的提问来源于stack exchange,提问作者YSFKBDY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:42:02