我想从ts文件中禁用字段。
我静态true/false
时工作正常。但我想在逻辑上做到这一点。当我的表单处于编辑模式时,我将使字段可编辑。当视图模式中的表单将禁用字段。
您似乎正在使用带有被动形式的disabled属性 指示。如果将disabled设置为true 当您在组件类中设置此控件时,实际上将在DOM中设置disabled属性 您。我们建议使用这种方法,以避免在检查后更改'错误。
Example: form = new FormGroup({ first: new FormControl({value: 'Nancy', disabled: true}, Validators.required), last: new FormControl('Drew', Validators.required) });
更改模式时的逻辑
editProspectDetails() {
this.editProspectMode = !this.editProspectMode;
this.isProspectDisabled();
}
FormControl名称:
this.fb.group({
prospect_pref_name: new FormControl({value: '', disabled: this.isProspectDisabled()}),
})
isProspectDisabled(){
return true; // working
but i want to make it conditionally
console.log(this.editProspectMode); // it will return : true/ false
return this.editProspectMode;
}
答案 0 :(得分:0)
您只需使用disable()
禁用字段
试试这个
this.fb.group({
prospect_pref_name: new FormControl(''),
}
并在editProspectDetails()
editProspectDetails() {
this.editProspectMode = !this.editProspectMode;
this.your_form_name.controls.prospect_pref_name.disable();
}