angular - 以反应形式使用 disabled
问题描述
这是我的表格:
damageInfoForm = new FormGroup({
cause : new FormControl('', Validators.required),
subCause : new FormControl('', Validators.required)
})
字段 subCause 与字段原因相关,这就是为什么如果字段原因为空,我要禁用字段 subCause
所以我像这样编辑我的html:
<form class="k-form k-form-inline " [formGroup]="damageInfoForm">
<div class="col-md-4 no-padding-left">
<div [ngClass]="{ 'spaced':true }">
<span>cause</span>
<kendo-combobox [data]="causes" [disabled]="generalDataForm.get('mainCause').value==''" formControlName="cause" class="form-control">
</kendo-combobox>
<span>Sub cause</span></span>
<kendo-combobox [data]="subCauses" [disabled]="damageInfoForm.get('cause').value==''" formControlName="subCause" class="form-control">
</kendo-combobox>
</div>
</div>
</form>
它有效,但它给了我警告It looks like you're using the disabled attribute with a reactive form directive
解决方案
您将不得不通过代码禁用该字段,而不是在 html 中。这可以在监听原因字段的 valueChanges 时通过以下方式完成:
damageInfoForm.get('cause').valueChanges.subscribe(v => {
if(!v) {
damageInfoForm.get('subCause').disable();
}
else {
damageInfoForm.get('subCause').enable();
}});
推荐阅读
- java - SQLXML 到 XML 以读取值
- python - 这个python FTP程序抛出奇怪的异常
- c# - System.Collections.Generic.KeyNotFoundException Dynamics CRM C# 查找字段错误
- python - 如何使用opencv-python标记中心并计算图像的直径?
- amazon-web-services - 通过 SMTP 使用 SES(带 SNS)
- android - 如何使用强制关闭按钮创建持久通知?
- javascript - 我可以使用什么选择器来排除带有后缀的 ID?
- java - [DynamoDB]:我可以使用 DynamoDBMapper 在 DynamoDB 中的多个表之间共享单个数据模型吗?
- java - 尝试定义自定义 PropertyMap 时出现 NullPointerException
- sql - 仅当值存在于 SQL 的另一列中时,如何选择列的值?