【发布时间】:2018-11-10 15:59:56
【问题描述】:
我有一个 Angular 2 的响应式表单,可以通过添加按钮调用新表单或通过编辑按钮更新现有详细信息。如果用户选择编辑按钮,则应禁用电子邮件输入。我有下面的代码,但只要用户选择编辑,输入就不会被禁用。如果我在 addForm 方法中将 disabled 设置为 true 并选择编辑按钮,则电子邮件输入被禁用
public addForm(event: string) : FormGroup {
this.userForm = this.fb.group({
firstName: ['',
[ Validators.required,
Validators.maxLength(ManageUsersConstants.maxLengthName)
]],
lastName: ['',
[ Validators.required,
Validators.maxLength(ManageUsersConstants.maxLengthName)]
],
email: [{value: '', disabled : false}],
}),
});
}
public editForm(event: string, editValues : any) : FormGroup {
this.userForm = this.fb.group({
firstName: [editValues.firstName, [
Validators.required,
Validators.maxLength(ManageUsersConstants.maxLengthName)]],
lastName: [editValues.lastName,
[ Validators.required,
Validators.maxLength(ManageUsersConstants.maxLengthName)]],
email: [{value: editValues.email, disabled: true}],
});
}
【问题讨论】:
-
看起来您只是在重新分配表单。为什么不直接针对输入并进行更改呢?
this.userForm.get('email').disable();(我想,一点都没碰过????) -
对不起,你的意思是直接针对输入? html?
-
我的意思是定位来自 FormGroup 的电子邮件(就像我上次评论中的代码位)
-
我试过了,还设置/补丁,但它似乎仍然将其设置为 false
标签: angular angular2-forms angular-reactive-forms