问题标签 [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.
angular - 遍历包含表单数组的表单组
我正在创建一个具有以下结构的动态模型驱动表单:
下面是模型结构,在 Observable 中我从后端接收数据:
我的“myForm”FormGroup
变量中有一些 json 数据,其中包含公司和项目名称的信息。我需要在这个 json 中进行一些更新,但myForm
我可以使用原始的 json 数据。
因此,我正在创建另一个FormGroup
变量myForm2
并myForm
为其赋值:
现在,我希望将company
值替换为companyRegNo
值,并将projectName
值替换为projectRegNo
值,保持键company
并projectName
保持原样,在 myForm2 中。
我已经有 2 种方法,getProjectRegNoFromProjectName()
并且getCompanyRegNoFromCompanyName()
可以使用,它们分别在传递and时返回projectRegNo
and 。我需要在对 myForm2 进行迭代时调用这两种方法。我现在如何迭代数据本身,以便我可以更新分配的属性和值,如前所述?companyRegNo
projectName
company
myForm2
FormArray
javascript - Angular - FormBuilder,如何对多个表单控件进行分组
我使用 Formbuilder 创建一个 FormGroup:
所有的fixed_grade
和fixed_value
都是输入和下拉菜单。
我有 4 对,这可以正常工作。
但是现在我想对这些进行分组,所以我不必逐个访问控制器中的每个值,每个值myForm.get("fixed_grade1").value
。
但我希望所有这些值都分组在一个数组中,例如:
所以我可以通过以下方式访问它们的值:myArray[0].grade
我没有将每个单个值映射到一个新数组,而是看到有一个FormArray
in FormBuilder
,我似乎无法正确地实现它。
实现我所描述的正确语法是什么,正好有 4 对成绩/分数,而且重要的是在我的最终数组中包含所有这些对成绩/分数,我只有未定义的值,所以如果在我的表格中,用户只填写一对成绩/分数,那么我的myArray.length
将是 1。
angular - “异或”中的 FormGroup 验证
我有一个由 3 个输入字段组成的 FormGroup:reservationCode、secretCode 和条形码。
字段条码就是reservationCode + '-' + secretCode。(这是因为条形码是一个可以在文本中找到的字段,并且可以与复制+粘贴功能一起使用)
现在,使用这些字段的按钮只有在条形码有值或者reservationCode 和secretCode 有值时才必须处于活动状态。
逻辑应该类似于:“barcode || reservationCode && secretCode”
这是我的 .ts 中的 formGroup 的代码:
我不知道如何管理 formControl 验证器以及是否必须创建自定义验证器。
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
angular - 如何动态绑定表单数组对象
我有2个数组,
我有一个如下表格:
模板:
我想要实现的是我需要创建一组帐户选项对。一个帐户最多可以有 4 个选项。如果有另一个帐户,则该帐户将有自己的一组选项。
所以数据结构应该是这样的:
{'accountNumber': uniqueAccountNumber, 'optNumber': optionNumber, 'optDesc': option.optDesc, 'shareVal': 'some share val', 'refVal': 'some ref val'}
如何使用基于帐号的唯一对象动态填充此数组并动态绑定 shareval 和 refVal?有什么想法吗?我完全迷路了。提前致谢
angular - 如何在 this.formgroup.value() 上获取类型 Number 的值?
我提交表单组的价值是
我想要的是
我的表单组在我的 .ts 文件中如下所示
angular - 如何在子组件中使用 FormArray 和父组件中的方法
我正在使用反应形式以 Angular 6 构建表单,并且我正在为每个部分使用组件,但我遇到了一些问题:如何在子组件中使用 FormArray 并在父组件中使用方法。例如:
在父 ts 文件中:
在父 html 中我有:
但我想使用父(上)的所有 html 代码在子组件中
我知道我可以在子组件中使用 FormGroupDirective,但是当我需要使用父方法时它不起作用。
请指教!谢谢!
javascript - Angular - FormArray,如何重置 formArray 的特定字段?
我不知道如何重置 FormArray 的单个字段,例如:
所以我的 FormArray 是一个由 4 个对象组成的数组,因为它是从以下位置映射的:
到目前为止,为了重置我的表单的这一部分,我取得的成就是:
然后使用:
this.pairsControl.reset();
但这会重置 FormArray 的每个字段,而我想要的是只能重置特定字段,
例如score"
所有 4 个对象的 " 字段,同时保留完整的 value 和 valueRel 字段
我试过这个:
但它所做的是像之前的表达式一样重置所有内容,所以没有任何变化!
重置formArray的特定字段的正确方法是什么?
typescript - 如何将值从 FormGroup 转换为 HTMLFormElement 或字符串?
我正在尝试将值从 FormGroup 转换为 HTMLFormElement 或字符串。我需要它用于 emailjs-com sendForm 函数,我试图将值传递给 Typescript 文件中的 onSubmit() 函数。任何帮助将不胜感激。
angular - Angular 6:如何使用 FormGroup 动态创建 formControlName?
我想要 formControlName 像这样,
- 字段_0
- 字段_1
- 字段_2
myObj = { "field_0":"value_0", "field_1":"value_1", "field_2":"value_2", } }