问题标签 [formarray]

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 投票
0 回答
1695 浏览

angular - 在 Angular Reactive Forms 中使用嵌套的 FormArray 将对象转换为 FormGroup

我从后端获得了非常复杂的 json 对象,其中包含数组作为键值,如下所示:

我需要将此对象填充到我的响应式表单中。所以在我的 ngOnInit 函数中,我初始化表单并从服务中获取数组数据。然后我将此数据传递给“convertToFormGroup”函数,以从简单对象创建这个嵌套的 FormArrays。这个函数的问题是它只能工作一层。我担心 api 将来会发生变化,我需要在 FormArray 中使用另一个 FormArray?我认为这是完全错误的方法?这应该更简单地将具有嵌套数组的对象转换为具有嵌套 FormArrays 的 FormGroup。我们有一些现有的功能吗?我是 Angular 的新手,所以不要犹豫批评我。

0 投票
1 回答
68 浏览

angular - 使用 Angular 中的反应形式修补数组内部的数组

我正在尝试在 FormArray 中显示detailsFormArray rows。我需要帮助,因为我无法显示detailsFormArray 的数据。我只知道如何显示rowsFormArray 但detailsFormArray 对我来说很难。这是我在下面尝试过的。请查看我创建的这个 STACKBLITZ 文件。

点击这个链接

谢谢你。

0 投票
1 回答
2560 浏览

angular - Angular Reactive Forms:mat-select 的 FormArray

我需要创建一个 FormArray 的 mat-select 控件(CoordinatorX),如下图所示:

在此处输入图像描述

产生上述表格的代码如下:

组件.html:

组件.ts:

到目前为止,它运作良好。我可以从 3 个mat-select控件中的任何一个中选择选项。

但我尝试通过以下代码动态添加另一个协调器:

它按预期添加了一个新控件。但是当我点击它时,它没有显示选项。任何进一步动态添加mat-select的控件都无法正常工作。

请问有什么帮助吗?

PS:我正在使用 Angular 材质控件

0 投票
1 回答
26692 浏览

angular - Angular FormArray:找不到带有路径的控件

我试图构建一个 Angular Reactive 表单,其中一个帐户可以添加许多学生。

该表格似乎有效。当您点击添加学生时,它会创建一个新学生,但您检查控制台显示

ERROR 错误:找不到带有路径的控件:'studentsArray -> 1 -> firstName

对于数组中的每个控件,依此类推。

app.component.html

app.component.ts

https://stackblitz.com/edit/angular-rqvv3a

任何建议将不胜感激。

0 投票
0 回答
312 浏览

angular - Angular 材质动态表单数组验证自定义消息

我正面临反应形式的问题 - 角度材料,而且我正在使用自定义验证插件 ng2-mdf 进行验证。我面临的问题是使用表单数组创建一个动态表单,并且我只获得了必需的字段消息,因为我创建了更多的自定义验证,其中没有显示消息

我正在使用 Angular 2 或更多版本的 Angular Material。

0 投票
3 回答
16412 浏览

angular - Angular如何在表单数组中获取值?

我想从所有表单数组的实例中获取“值班”值。我在html中试过这个:

但我无法获得任何价值。

这是 json 中 workDayandTime 的值: workDayandTime 表单数组

形式 :

短期论文.ts

短时间paper.html

我放弃了其他代码,但关于formarray,我想知道的是如何在数组中获取每个实例的'onduty'值。对不起,我缺少英语。但如果你帮助解决这个问题。这对我来说将是很大的乐趣。谢谢。

0 投票
1 回答
314 浏览

angular - 错误:formGroup 需要一个 FormGroup 实例 - 在向 formArray 添加新组件时

我正在使用响应式表单方法。我有一个表单(父组件称为:)DeductionInvoicesComponent

父母的 TypeScript 如下:

表单可以包含多个DeductionInvoiceItemComponents作为formArray. 子组件(一个名为: 的项目DeductionInvoiceItemComponent)如下所示:

代表 formArray 项目的单个组件的 TypeScript 如下所示:

当我单击一个按钮时addItem(),我收到以下错误消息:

错误:formGroup 需要一个 FormGroup 实例

buildItem如您所见,我使用名为的静态函数创建了该 FormGroup 。我该如何解决这个问题?

0 投票
1 回答
20 浏览

angular - 如何使用angular2在formarray中的数据为空时获取消息

我有一个formarrayName,如果数据为空,我想要一个文本显示“数据为空”如果有数据,则必须通过隐藏文本来显示数据。谁能帮我解决这个问题?

HTML:

0 投票
2 回答
746 浏览

angular - Angular ReactiveForms 没有获得动态价值

我在 Angular 中使用反应式表单,并且我有这个 FormArray,我从中获得了除product_total.

如何获取product_total打字稿代码中每个表单组的值?PS 我在 HTML 代码中得到了值,但在打字稿代码中没有

打字稿代码是:

0 投票
3 回答
2778 浏览

angular - 在角度形式数组中使用 setControl 或 patchValue 时出错

请协助,我有嵌套的表单数组,如下所示:

this._buildFundingItems()如下_

做上述或this.form.setControl('funding', this.formBuilder.array(data.funding || []));我得到一个错误:Cannot find control with path: 'funding -> 0 -> amount'Cannot find control with path: 'funding -> 0 -> items'

在我执行以下操作之前,我没有收到任何错误,但是在更新表单或(在 valuechanges 上)时,formarray 没有更新。

我看到以下链接Angular 4 patchValue based on index in FormArray这就是我尝试第一种方法的原因。