我正在构建一些有角度的自定义组件,现在我在实现ControlValueAccessor接口,以便提供Template / Reactive驱动的表单集成。
我的问题是如何将所有组件设置为“禁用”,就像我们可以在本机输入上进行的操作一样
我试图这样设置为禁用:
setDisabledState(isDisabled: boolean): void {
if(isDisabled) {
this.renderer.setProperty(this.elementRef.nativeElement, "disabled", true);
}
else {
this.renderer.setProperty(this.elementRef.nativeElement, "disabled", false);
}
}
答案 0 :(得分:0)
尝试以下操作:[attr.disabled]="true"
<select name="modulo" id="modulo" class="form-control modulo" formControlName="id_modulo" [attr.disabled]="true">
<option value="{{ m.id_modulo }}" *ngFor="let m of modulos" >{{m.nome_modulo }}</option>
</select>
组件中的FormBuilder:
this.formulariosForm = this.formBuilder.group({
id_formulario: [null],
nome_formulario: [null, Validators.required],
descricao: [null, Validators.required],
id_modulo: [null, Validators.required],
analista_responsavel: [null, Validators.required],
url: [null, Validators.required]
});