问题标签 [angular-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 投票
13 回答
91604 浏览

angular - 需要选中一个复选框

我希望禁用一个按钮,直到使用 Angular 的 FormBuilder 检查了一个复选框。我不想明确检查复选框的值,而是更喜欢使用验证器,以便我可以简单地检查form.valid.

在下面的两种验证情况下,复选框都是

0 投票
7 回答
141069 浏览

angular - 在Angular中,创建控件后如何将Validator添加到FormControl?

我们有一个具有动态构建表单的组件。添加带有验证器的控件的代码可能如下所示:

但是假设我想稍后添加 2nd Validator 。我们怎样才能做到这一点?我们在网上找不到任何关于此的文档。我确实发现虽然在表单控件中有setValidators

但不清楚如何添加新的或自定义的验证器。

0 投票
3 回答
23057 浏览

angular - Angular2 中的 ReactiveFormsModule 与 FormsModule

存在ReactiveFormModuleFormsModule

我什么时候应该使用ReactiveFormModule以及与FormModule相比提供此模块的内容。

0 投票
6 回答
88872 浏览

angular - 单选按钮的Angular2 Reactive Forms formControl

我正在使用反应式表单在 Angular 中构建一个表单。我正在使用 FormBuilder 来制作一组字段。对于文本框,这非常有效。但我找不到单选按钮的 formControl。

这是如何运作的?我应该<input formControlName="gender" type="radio">像使用文本输入一样使用吗?

0 投票
1 回答
1173 浏览

angular - Angular 2反应形式问题

我有一个关于 Angular 2 反应形式的问题。我试图在我的反应表单视图中做两件事:

  1. 在国家名称的下拉列表中有一个默认值。

  2. 根据国家名称字段的选择更改国家代码输入字段。请参阅下面的html。

国家.ts

in-memory-data.service.ts这是我的数据库

html

0 投票
19 回答
138740 浏览

angular - 反应式表单 - 将字段标记为已触摸

我无法找出如何将所有表单的字段标记为已触摸。主要问题是,如果我不触摸字段并尝试提交表单 - 验证错误不会显示出来。我的控制器中有那段代码的占位符。
我的想法很简单:

  1. 用户点击提交按钮
  2. 所有字段都标记为已触摸
  3. 错误格式化程序重新运行并显示验证错误

如果有人有其他想法如何在提交时显示错误,而不实施新方法 - 请分享。谢谢!


我的简化形式:

我的控制器:

0 投票
1 回答
17765 浏览

angular - 是否可以有一个没有表单标签的 Angular 2 formGroup?

我正在寻找Angular 2 文档,但无法找到有关如何使用formGroup的最佳实践。

是否必须formGroup用表单标签括起来?

我看过这个堆栈溢出问题:

formGroup 需要一个 FormGroup 实例

我创建了这个组件模板:

我试图避免使用嵌套的表单标签

0 投票
7 回答
71956 浏览

angular - 在不清除数据的情况下将表单设置为 Pristine

我有一个显示<input type="text">元素列表的表单。它们都共享一个通用的保存按钮,该按钮在表单变脏之前被禁用。然后,一旦用户点击保存按钮,数据就会被提交到服务器。如果服务器成功保存了数据,我想将表单重置为原始状态,但我想保留表单中的所有数据,以便用户可以选择进一步编辑数据。

经过搜索,我找到了NgForm.reset()方法。虽然这确实将表单设置为原始状态,但不幸的是它也清除了表单。reset 方法似乎确实有一个 value 参数,但我似乎无法找出它的作用。尽管如此,我不希望数据被清除。

我也尝试myForm.pristine = true过,但是由于某种原因这会导致页面重新加载。

这是一个演示问题的 plunkr

0 投票
1 回答
4993 浏览

forms - 设置初始值Angular 2反应formarray

我正在尝试为 angular 2 反应形式 formArray 对象设置初始值。

即使用于设置表单值的 json 对象包含具有多个条目的数组值,也只显示第一个条目,并且“form.value”也只显示第一个条目。

我正在使用语法(<FormGroup>this.myForm).patchValue(value, { onlySelf: true });来设置表单的初始值。

这是一个演示该问题的 plunker:https ://plnkr.co/edit/j1S80CmPBF1iHI5ViEia?p=preview

我使用了https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2中的示例来创建 plunker。

任何想法我做错了什么?

0 投票
2 回答
508 浏览

arrays - 如何在嵌套的 FormArrays 中添加元素?

我在另一个数组中有一个数组,如下所示:

我想通过打字稿将项目添加到第二个数组。我尝试到达第二个数组(page_containers)但收到此错误:

无法读取未定义的属性“控件”

我的功能是这样的:

为什么我不能用这条线到达第二个阵列?

任何想法?