问题标签 [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.
angular - 需要选中一个复选框
我希望禁用一个按钮,直到使用 Angular 的 FormBuilder 检查了一个复选框。我不想明确检查复选框的值,而是更喜欢使用验证器,以便我可以简单地检查form.valid
.
在下面的两种验证情况下,复选框都是
angular - 在Angular中,创建控件后如何将Validator添加到FormControl?
我们有一个具有动态构建表单的组件。添加带有验证器的控件的代码可能如下所示:
但是假设我想稍后添加 2nd Validator 。我们怎样才能做到这一点?我们在网上找不到任何关于此的文档。我确实发现虽然在表单控件中有setValidators
但不清楚如何添加新的或自定义的验证器。
angular - Angular2 中的 ReactiveFormsModule 与 FormsModule
存在ReactiveFormModule和FormsModule。
我什么时候应该使用ReactiveFormModule以及与FormModule相比提供此模块的内容。
angular - 单选按钮的Angular2 Reactive Forms formControl
我正在使用反应式表单在 Angular 中构建一个表单。我正在使用 FormBuilder 来制作一组字段。对于文本框,这非常有效。但我找不到单选按钮的 formControl。
这是如何运作的?我应该<input formControlName="gender" type="radio">
像使用文本输入一样使用吗?
angular - Angular 2反应形式问题
我有一个关于 Angular 2 反应形式的问题。我试图在我的反应表单视图中做两件事:
在国家名称的下拉列表中有一个默认值。
根据国家名称字段的选择更改国家代码输入字段。请参阅下面的html。
国家.ts
in-memory-data.service.ts这是我的数据库
html
angular - 反应式表单 - 将字段标记为已触摸
我无法找出如何将所有表单的字段标记为已触摸。主要问题是,如果我不触摸字段并尝试提交表单 - 验证错误不会显示出来。我的控制器中有那段代码的占位符。
我的想法很简单:
- 用户点击提交按钮
- 所有字段都标记为已触摸
- 错误格式化程序重新运行并显示验证错误
如果有人有其他想法如何在提交时显示错误,而不实施新方法 - 请分享。谢谢!
我的简化形式:
我的控制器:
angular - 是否可以有一个没有表单标签的 Angular 2 formGroup?
我正在寻找Angular 2 文档,但无法找到有关如何使用formGroup的最佳实践。
是否必须
formGroup
用表单标签括起来?
我看过这个堆栈溢出问题:
我创建了这个组件模板:
我试图避免使用嵌套的表单标签
angular - 在不清除数据的情况下将表单设置为 Pristine
我有一个显示<input type="text">
元素列表的表单。它们都共享一个通用的保存按钮,该按钮在表单变脏之前被禁用。然后,一旦用户点击保存按钮,数据就会被提交到服务器。如果服务器成功保存了数据,我想将表单重置为原始状态,但我想保留表单中的所有数据,以便用户可以选择进一步编辑数据。
经过搜索,我找到了NgForm.reset()
方法。虽然这确实将表单设置为原始状态,但不幸的是它也清除了表单。reset 方法似乎确实有一个 value 参数,但我似乎无法找出它的作用。尽管如此,我不希望数据被清除。
我也尝试myForm.pristine = true
过,但是由于某种原因这会导致页面重新加载。
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。
任何想法我做错了什么?
arrays - 如何在嵌套的 FormArrays 中添加元素?
我在另一个数组中有一个数组,如下所示:
我想通过打字稿将项目添加到第二个数组。我尝试到达第二个数组(page_containers)但收到此错误:
无法读取未定义的属性“控件”
我的功能是这样的:
为什么我不能用这条线到达第二个阵列?
任何想法?