问题标签 [formgroups]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2683 浏览

angular - 遍历包含表单数组的表单组

我正在创建一个具有以下结构的动态模型驱动表单:

下面是模型结构,在 Observable 中我从后端接收数据:

我的“myForm”FormGroup变量中有一些 json 数据,其中包含公司和项目名称的信息。我需要在这个 json 中进行一些更新,但myForm我可以使用原始的 json 数据。

因此,我正在创建另一个FormGroup变量myForm2myForm为其赋值:

现在,我希望将company值替换为companyRegNo值,并将projectName值替换为projectRegNo值,保持键companyprojectName保持原样,在 myForm2 中。

我已经有 2 种方法,getProjectRegNoFromProjectName()并且getCompanyRegNoFromCompanyName()可以使用,它们分别在传递and时返回projectRegNoand 。我需要在对 myForm2 进行迭代时调用这两种方法。我现在如何迭代数据本身,以便我可以更新分配的属性和值,如前所述?companyRegNoprojectNamecompanymyForm2FormArray

0 投票
1 回答
7535 浏览

javascript - Angular - FormBuilder,如何对多个表单控件进行分组

我使用 Formbuilder 创建一个 FormGroup:

所有的fixed_gradefixed_value都是输入和下拉菜单。

我有 4 对,这可以正常工作。

但是现在我想对这些进行分组,所以我不必逐个访问控制器中的每个值,每个值myForm.get("fixed_grade1").value

但我希望所有这些值都分组在一个数组中,例如:

所以我可以通过以下方式访问它们的值:myArray[0].grade

我没有将每个单个值映射到一个新数组,而是看到有一个FormArrayin FormBuilder,我似乎无法正确地实现它。

实现我所描述的正确语法是什么,正好有 4 对成绩/分数,而且重要的是在我的最终数组中包含所有这些对成绩/分数,我只有未定义的值,所以如果在我的表格中,用户只填写一对成绩/分数,那么我的myArray.length将是 1。

0 投票
2 回答
713 浏览

angular - “异或”中的 FormGroup 验证

我有一个由 3 个输入字段组成的 FormGroup:reservationCode、secretCode 和条形码。

字段条码就是reservationCode + '-' + secretCode。(这是因为条形码是一个可以在文本中找到的字段,并且可以与复制+粘贴功能一起使用)

现在,使用这些字段的按钮只有在条形码有值或者reservationCode 和secretCode 有值时才必须处于活动状态。

逻辑应该类似于:“barcode || reservationCode && secretCode”

这是我的 .ts 中的 formGroup 的代码:

我不知道如何管理 formControl 验证器以及是否必须创建自定义验证器。

0 投票
1 回答
1668 浏览

angular - Angular: Multiple nested FormGroups in Component

I'm trying to nest several FormGroups, which works very well if I do not want to outsource the template to own components.

Here is an example, that works

Template

Typescript

If I try to outsource the "nestedForm1" and "nestedForm2" into a separate component, it does not work anymore from the second level.

An example can be found at the following link. There you can try both ways by commenting out the respective code parts in the "app.component.html"

https://stackblitz.com/edit/angular-gnpw24?file=src%2Fapp%2Fapp.component.html

0 投票
1 回答
63 浏览

angular - 如何动态绑定表单数组对象

我有2个数组,

我有一个如下表格:

模板:

我想要实现的是我需要创建一组帐户选项对。一个帐户最多可以有 4 个选项。如果有另一个帐户,则该帐户将有自己的一组选项。

所以数据结构应该是这样的:

{'accountNumber': uniqueAccountNumber, 'optNumber': optionNumber, 'optDesc': option.optDesc, 'shareVal': 'some share val', 'refVal': 'some ref val'}

如何使用基于帐号的唯一对象动态填充此数组并动态绑定 shareval 和 refVal?有什么想法吗?我完全迷路了。提前致谢

0 投票
2 回答
16622 浏览

angular - 如何在 this.formgroup.value() 上获取类型 Number 的值?

我提交表单组的价值是

我想要的是

我的表单组在我的 .ts 文件中如下所示

0 投票
1 回答
1690 浏览

angular - 如何在子组件中使用 FormArray 和父组件中的方法

我正在使用反应形式以 Angular 6 构建表单,并且我正在为每个部分使用组件,但我遇到了一些问题:如何在子组件中使用 FormArray 并在父组件中使用方法。例如:

在父 ts 文件中:

在父 html 中我有:

但我想使用父(上)的所有 html 代码在子组件中

我知道我可以在子组件中使用 FormGroupDirective,但是当我需要使用父方法时它不起作用。

请指教!谢谢!

0 投票
2 回答
3737 浏览

javascript - Angular - FormArray,如何重置 formArray 的特定字段?

我不知道如何重置 FormArray 的单个字段,例如:

所以我的 FormArray 是一个由 4 个对象组成的数组,因为它是从以下位置映射的:

到目前为止,为了重置我的表单的这一部分,我取得的成就是:

然后使用:

this.pairsControl.reset();

但这会重置 FormArray 的每个字段,而我想要的是只能重置特定字段,

例如score"所有 4 个对象的 " 字段,同时保留完整的 value 和 valueRel 字段

我试过这个:

但它所做的是像之前的表达式一样重置所有内容,所以没有任何变化!

重置formArray的特定字段的正确方法是什么?

0 投票
0 回答
450 浏览

typescript - 如何将值从 FormGroup 转换为 HTMLFormElement 或字符串?

我正在尝试将值从 FormGroup 转换为 HTMLFormElement 或字符串。我需要它用于 emailjs-com sendForm 函数,我试图将值传递给 Typescript 文件中的 onSubmit() 函数。任何帮助将不胜感激。

0 投票
2 回答
3545 浏览

angular - Angular 6:如何使用 FormGroup 动态创建 formControlName?

我想要 formControlName 像这样,

  • 字段_0
  • 字段_1
  • 字段_2

myObj = { "field_0":"value_0", "field_1":"value_1", "field_2":"value_2", } }