我有一个角度反应形式的电子邮件字段,如果该表单处于编辑模式(与添加模式相对),我想禁用它。我正在使用
disabled: typeof user.user_id === 'string'
如果我在下面的modelToForm
方法的开头设置一个断点并将typeof user.user_id === 'string'
粘贴到控制台中,它将返回true,因此看起来应该可以使用,但是表单中的字段是未禁用。如果我将其更改为“禁用:true”,则该字段为禁用。有人遇到过这个吗?
public modelToForm(user: UserModel): FormGroup {
return this.fb.group({
firstName: [user.first_name, [
Validators.required,
Validators.maxLength(UserFormHelper.maxLengthName),
UserFormHelper.validateWhitespace
]],
email: [{value: user.email, disabled: typeof user.user_id === 'string'}, [
Validators.required,
Validators.maxLength(UserFormHelper.maxLengthEmail),
Validators.pattern(UserFormHelper.emailPattern)
]],
});
}
答案 0 :(得分:0)
我想我明白了!在表单初始化中禁用设置是静态的吗?您需要在条件变化时手动进行更改吗?
control.disable()
control.enable()