如何以角度禁用模板驱动表单中的所有字段

2024-03-25

我用 Angular 5 创建了一个模板驱动表单

我想首先禁用整个表单,并且还希望在单击某个按钮后启用表单,因此我在表单标记中添加了一个禁用属性,并将其值设置为 false ,如下所示,(这不起作用尽管):

<form #formName = "ngForm" [disabled]="true">
</form>

由于上述禁用属性不起作用,我将禁用属性更改为

[attr.disabled] = true

这也不起作用

现在我有了表单元素的引用#formName,我在 TS 文件中使用它并尝试更改引用对象内的禁用属性值

这是我所做的:

@ViewChild('formName') formName;


this.formName.disabled = true; 

这也不起作用,我收到一条错误消息,说禁用不能更改,因为它只是一个吸气剂

在模板驱动表单上,我应该如何默认禁用整个表单?

提前致谢 :)


正如评论中提到的,您可以将表单包装在fieldset标记并实现如下:

<form>
    <fieldset [disabled]="fieldsetDisabled">
        <!-- YOUR FIELDS HERE -->
    </fieldset>
</form>

您可以通过切换局部变量和之间的切换来更改控制器中的句柄状态disabled/enabled陈述为:

this.fieldsetDisabled = true;  // Disables the fieldset
this.fieldsetDisabled = false; // Enables the fieldset
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以角度禁用模板驱动表单中的所有字段 的相关文章

随机推荐