【发布时间】:2020-04-25 21:18:54
【问题描述】:
我的表单上有很多控件。我为我的控件评估了一些规则。当某些控件的visiblityExpression 将被评估为 false 时,我想让控件不可见。
this.formControl 来自AbstractControl。
我可以调用什么方法使其对用户不可见?
我想做这样的事情:
if(result === false) this.formControl.hide();
【问题讨论】:
我的表单上有很多控件。我为我的控件评估了一些规则。当某些控件的visiblityExpression 将被评估为 false 时,我想让控件不可见。
this.formControl 来自AbstractControl。
我可以调用什么方法使其对用户不可见?
我想做这样的事情:
if(result === false) this.formControl.hide();
【问题讨论】:
我认为带有布尔变量 isVisible 的表单顶部的 [hidden] 指令应该可以解决问题:
[hidden]="formControl.isVisible"
Plunker 隐藏文本框的示例。这同样适用于整体控制。我个人认为使用 *ngIf 从 DOM 中移除控制比隐藏它更好。
【讨论】:
this.formControl.disable() 禁用控件。我的例子比我在这里展示的要复杂得多......这是有原因的。