我在角度应用中使用反应形式。
SELECT *
FROM SERVICE_REQ SR
LEFT JOIN SR_COBRAND_DATA SR_COB_DATA ON SR.SERVICE_REQ_ID=SR_COB_DATA.SERVICE_REQ_ID
INNER JOIN REPOSITORY rep ON SR.SR_COBRAND_ID=rep.COBRAND_ID
LEFT JOIN SR_ASSIGNEE_INFO ASSIGNEE_INFO ON SR.SERVICE_REQ_ID = ASSIGNEE_INFO.SERVICE_REQ_ID
WHERE SR.SR_COBRAND_ID = 99
在我的html中,我使用的是
measurement: new FormControl(true),
volume: new FormControl(0)
每当我选中“音量”复选框时,它都应启用“音量”控制。但这不是在启用和禁用之间切换。但是,如果我控制台“ measurement.checked”,则显示是对还是错。如何通过本地引用启用或禁用?谢谢。
答案 0 :(得分:1)
不能像您的方法那样动态设置“禁用”,以获取更多信息 https://github.com/angular/angular/issues/11271。但是您可以通过onchange中的功能启用或禁用,例如control.enable(),control.disable()
答案 1 :(得分:1)
您可以通过打字稿功能来实现。.
更改代码中的以下行
<input formControlName='volume' type="number" class="form-control input-md" [attr.disabled]="!measurement.checked">
到
<input formControlName='volume' type="number" class="form-control input-md" [attr.disabled]="disableVolume()">
并在您的ts文件中,添加函数disableVolume()
,
disableVolume() {
if(this.form.get('measurement').value === true) {
this.form.get('volume').enable();
} else {
this.form.get('volume').disable();
}
}
工作示例:https://stackblitz.com/edit/angular-form-array-example-cc27c3