我们之前已经看过了:
看来您正在使用带有反应形式指令的Disabled属性。如果在组件类中设置此控件时将Disabled设置为true,则实际上将在DOM中为您设置disabled属性。我们建议使用这种方法来避免“检查后更改”错误。
带有警告输出的示例:
form = new FormGroup({
first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),
last: new FormControl('Drew', Validators.required)
});
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试像它说的那样做时,它是行不通的。因此,我在SO上搜索了这个问题,然后发现了许多类似这样的问题,但是他们都说要FormControl.disable()手动致电。我不想这样做,但是将disabled“表单状态对象”传递给构造函数不起作用。为什么不?
这是我的代码:
this.registerForm('someName', {
firstName: new FormControl({disabled: true}),
});
Run Code Online (Sandbox Code Playgroud)
这不是一个重复这个问题,因为我是问为什么有些东西不能工作是应该,而无需额外的函数调用,或添加东西的模板。通过答案我发现的结果很关键,并且可能是对Angular设计的疏忽。
实际上,它不起作用的原因是我在表单状态对象中没有“值”。应该是:
this.registerForm('someName', {
firstName: new FormControl({value: '', disabled: true}),
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |