[英]angular reactive forms disable field
我有一个简单的反应形式,我正在使用 Angular 材料框架。
this.firstFormGroup = this.fb.group({
builder_first_name: ['', Validators.required],
builder_last_name: ['', Validators.required]
});
并编辑正在保存此数据的 function。
handleEdit(event): void {
event.preventDefault();
this.firstFormGroup.markAllAsTouched();
if (!this.firstFormGroup.valid) {
return;
}
this.mySerivce.update(this.firstFormGroup.value, this.project.id)
}
我想为某些用户设置一个只读的last_name
字段。 但是在我添加了简单的逻辑之后:
builder_last_name: [{value: '', disabled: currentUser$.isAdmin ? false : true}, Validators.required]
我注意到this.firstFormGroup.valid
现在返回 false。
我读了这个话题: https://github.com/angular/angular/issues/11432
但我仍然没有找到好的解决方案如何处理这一切。 我尝试了readonly
属性,但是如何处理应用于已禁用的mat-
字段的<select>
和 styles?
感谢@Eliseo。
当我将条件更改为this.firstFormGroup.invalid
时,一切都按预期工作。 我还将this.firstFormGroup.value
更改为this.firstFormGroup.getRawValue()
以确保正确捕获所有字段值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.