【发布时间】:2021-10-04 00:41:31
【问题描述】:
我有大约 20 个文本框和一个复选框。
因此,无论用户选中/取消选中复选框,这 20 个文本框中的任何值都应重置。
应提交 20 个文本框值或应提交单个复选框值。
当前情景
我正在使用this.Myfrom.reset(); 重置所有字段并且它正在工作。
但我不想重置一个控制值。
问题-我是否应该通过从表单数组中获取每个控件并重置控件值来编写 20 行代码。
this.Myfrom.get('text1').reset();
等到第 20 个文本框只跳过一个字段不重置。
有没有其他方法可以做到这一点。或者这种方法很好。
【问题讨论】:
-
您可以在重置所有输入后将
pathValue用于该特定输入。this.myForm.reset()清除所有字段然后this.myForm.patchValue({YourInput: 'YourValue'}) -
但我使用 ngFor 在 HTML 表中的对象数组上创建动态行。所以让我们说如果生成了 10 行,在重置行的所有字段后如何设置值。
-
然后您可以简单地将值推送到您想要的索引中。
-
好的。重置所有字段后,我通过使用 var test=((this.form.get('controls') as FormArray).at(index) as FormGroup).value; 获取元素的值;但它现在正在工作。知道如何从表单组中获取元素的值。
标签: angular angular-reactive-forms reactive-forms