我在角度5
中创建了一个模板驱动的表单我想首先禁用整个表单,并且还希望在单击某个按钮后启用该表单,因此我在表单标记中添加了一个禁用的属性,并使其值为false,如下所示,(这不是&虽然工作得很好:
<form #formName = "ngForm" [disabled]="true">
</form>
由于上述禁用的属性不起作用,我将禁用的属性更改为
[attr.disabled] = true
这也没有用
现在因为我有表单元素的引用#formName
,我在TS文件中使用它并尝试更改引用对象内的disabled属性值
这就是我所做的:
@ViewChild('formName') formName;
this.formName.disabled = true;
这也没有用,我收到一条错误消息,说无法更改已禁用,因为它只是一个吸气剂
默认情况下,如何在模板驱动表单的角度中禁用整个表单?
提前致谢:)
答案 0 :(得分:10)
如评论中所述,您可以将表单包装在fieldset
标记内,并按照以下方式实现此目的,
<form #formName = "ngForm" >
<fieldset [disabled]="disabledValue">
</form>
您可以通过使用局部变量在代码中更改它,并在禁用/启用状态之间切换为
this.disabledValue = true;