问题标签 [reactive-forms]

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 投票
3 回答
23340 浏览

javascript - 在 ReactiveForm 中设置 Angular 2 FormArray 值?

这里已经有一个类似的问题(Setting initial value Angular 2 reactive formarray),但我对答案不满意,或者可能正在寻找其他解决方案。

我认为拥有 FormArray 的重点是传递对象数组,它应该创建相同数量的组件。但是在上面的示例中,如果您查看提供的 plunker ,即使在提供了两个 Addresses 对象之后,也创建了一个 Address ,因为它的空白版本已经在 ngOnInit() 中创建。

所以我的问题是,如果在 ngOnInit() 我有这样的地址:this._fb.array([]) // 空白列表,那么我应该如何设置它的值,它从 N 个地址动态创建 N 个地址在我的 TypeScript 数组中?

0 投票
1 回答
2245 浏览

angular - FormControl / FormGroup / FormArray 值类型

我希望我的FormControl( FormGroup/ FormArray) 是强类型的,所以当我有例如

我把它改成了例如

TypeScript 抛出了一个错误:nameFormGroup.

同样在理想世界中,form.value应该是SomeSource类型(而不是any)。

问题是没有办法为任何AbstractFormControl孩子指定这个泛型类型。

我认为这很容易FormGroup用自己的界面覆盖。但是,有没有办法仅使用 Angular 来实现这一点?如果没有,是否有第三方解决方案?

动机:我想轻松地重构我的SomeSource. 目前,当我重构SomeSource界面时,表单没有被适配并且没有抛出错误 => 有一些错误的空间。

0 投票
2 回答
931 浏览

angular - 当我将值设置为 formGroup 时,Angular Material 2 md-input 没有聚焦

md-input 焦点发生了一些奇怪的事情:

这是我拥有的元素之一

这是我订阅并将值设置为 formGroup 的方法:

视图上的对象作为例外加载,但 md-input 文本字段未聚焦。日期、时间、选择、数字等其他类型的焦点很好。这是一个屏幕截图:

在此处输入图像描述

0 投票
1 回答
5523 浏览

validation - Angular2:电子邮件已经作为自定义验证器存在?

我使用 Angular2 创建了一个表单,并创建了以下方法来检查电子邮件地址是否已经存在。这是我的代码:

要在模板文件中启用提交按钮,我检查myForm.validfound设置为false

现在,我想检查电子邮件地址是否已经存在,我的意思是将我的代码的第二部分放在一个外部文件(自定义验证器)中,然后仅在我的代码的第一部分检查电子邮件地址的有效性。像这样的东西:

您有更好的想法来达到相同的验证吗?关于这个问题的任何最佳实践?

谢谢你。

0 投票
1 回答
118 浏览

validation - 如何在 angularJS2 中使用 ReactiveFormModule 验证 Select 元素?

我想在 angularJS2 中使用 ReactiveFormModule 验证我的表单,假设我有这样的组件代码

我有一个这样的 HTML 代码

没有文章,实际上解释了如何验证 angularJS2 中的选择按钮,我们可以实际使用 angularJS2 验证选择元素吗?

0 投票
1 回答
882 浏览

angular - 从 Observable 数组填充时,Angular 2 md-select 不绑定所选值

我有 angular2 反应形式,其中包含 md-select 以使用户从 firebase 中选择医生 md-select 在呈现组件之前存在数据时可以正常工作,但是如果数据以可观察的方式异步传入,则它不会显示所选值

在这里输入代码

0 投票
1 回答
758 浏览

validation - 如何在按钮提交上验证表单

我有一个表单,一旦控件将类从ng-untouched ng-pristine ng-invalid更改为ng-pristine ng-invalid ng-touched,该表单就会得到验证,但是如果我有一个带有更多控件的表单,那么我想要用户知道他/她错过了按钮提交的哪个字段。我怎么能用angularJS2做到这一点。我使用 ReactiveFormsModule 来验证控件

以下是我的代码:组件

以下是我的代码:模块

以下是我的代码:模板

我想将所有无效控件类更新为ng-untouched ng-pristine ng-invalid但不确定这是否是正确的方法

0 投票
1 回答
96 浏览

angular - 渲染后没有设置无功无线电

所以基本上它就像这个plunker

一个非常简单的反应形式。

但是,当我将确切的代码放入我的实际项目中时。它不起作用。

我可以看到它正在尝试将选中的属性设置为 true

在这一行this._renderer.setElementProperty(this._elementRef.nativeElement, 'checked', this._state);

但它不会在加载后在屏幕上标记为已选中。

如果我将类型更改为复选框,它工作正常。

如果我使用 ngModel,它也可以正常工作。

我不知道还有什么问题。

更新:

我在不同的启动器上对其进行了测试

它也不起作用。

该组件看起来像

0 投票
2 回答
5937 浏览

arrays - 如何从反应形式角度2中的其他formControl值自动更新formControl值?

提交表单时,此项目属性将由一个对象存储。示例对象:

如何使用项目对象的属性并修补我的 initItem() 方法属性中的值?我的场景就像,当用户从下拉列表中选择一个值时,项目将得到更新,我想显示从其他表单控件中的项目。例子:

我想自动更新 presentRate 输入框中的值。

0 投票
1 回答
2720 浏览

angular - 以反应形式访问嵌套的 FormControls @angular2

我有一个看起来像这样的反应形式。

在 addProblemJsonControls() 方法中,我试图访问 ProblemJson Form Group 的不同控件,但我收到一条错误消息

请帮助我正确访问 FormGroup。我是反应形式的新手。