问题标签 [angular2-formbuilder]
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 - formControlName 和 FormControl 有什么区别?
我正在使用ReactiveFormsModuleAngular2 创建一个包含表单的组件。这是我的代码:
foo.component.ts:
foo.component.html(带[formControl]):
foo.component.html(带formControlName):
两种方式都有效。但我无法弄清楚使用[formControl]和之间有什么区别formControlName。
angular - 如何在formbuilder数组中设置值
我有一个关于将数组值设置为 formBuilder.array 的问题。在不是数组的 formBuilder 中,它可以使用这种方式设置值,但在 formBuilder.array 中我不能这样做。我尝试为 formbuilder 'listServiceFeature' 和 'listservicefeature' 设置值,但无论哪种方式都不是设置值。
ts
html
angular - 在父组件和子组件之间传递表单状态数据
使用 Angular 2,我有一个长而复杂的表单,我将其拆分为一个父组件和两个子组件,以便于管理。在我需要跟踪表单状态以进行验证之前,该过程非常有效。虽然可以通过@Input 轻松传输有关绑定模型的数据,但我无法弄清楚如何传输有关表单本身的数据。
下面是一个使用伪代码的例子:
在表单的底部,我使用 JSON 管道显示表单值。f.value应显示有关“详细信息”和“高级”输入的数据。如何在父组件和子组件之间传递信息,以便父组件可以跟踪表单状态?理想情况下,这适用于模板驱动和反应式表单。
angular - 反应形式的两种方式绑定
使用 Angular 2,在模板驱动的表单中双向绑定很容易——您只需使用香蕉盒语法。您将如何以模型驱动的形式复制这种行为?
例如,这是一个标准的反应形式。让我们假设它比看起来要复杂得多,有很多不同的输入和业务逻辑,因此更适合模型驱动的方法而不是模板驱动的方法。
在subscribe()我可以将各种逻辑应用于表单值并根据需要映射它们。但是,我不想映射表单中的每个输入值。我只想在employee更新时查看整个模型的值,方法类似于[(ngModel)]="example.name",并显示在模板中的 json 管道中。我怎样才能做到这一点?
angular - Angular 2:具有多个按钮的 NgForm
我正在尝试开发购物车。整个购物车包含多个按钮,例如添加/删除/继续等。我希望验证仅应用于具有提交类型的继续按钮。但目前在点击任何按钮时,验证都会被激活。
我无法发布代码,因为它非常复杂。请让我知道这是否是表格的正常行为,或者我可能有一些错误。
谢谢
angular - 反应式表单 - 将字段标记为已触摸
我无法找出如何将所有表单的字段标记为已触摸。主要问题是,如果我不触摸字段并尝试提交表单 - 验证错误不会显示出来。我的控制器中有那段代码的占位符。
我的想法很简单:
- 用户点击提交按钮
- 所有字段都标记为已触摸
- 错误格式化程序重新运行并显示验证错误
如果有人有其他想法如何在提交时显示错误,而不实施新方法 - 请分享。谢谢!
我的简化形式:
我的控制器:
angularjs - 使用 FormBuilder 突出显示原始但无效的表单
在 Angular 2 中使用FormBuilder来突出显示脏和无效的字段很容易。但是,您可以提交原始但无效的表单,而无需将字段更改为脏。
例如,此代码将显示,当您提交表单时未触摸输入,该表单FormGroup将无效,但.ng-pristine仍会保留在文本字段中。这意味着不会通知用户文本字段有问题。
Plunker中的示例。
FormControl提交表单时如何将原始状态更改为脏状态?
angular - 模型驱动形式 - 原始总是真实的
如何以编程方式将原始设置为 false?
this.myForm.get('categories').set.....设置什么?没有 setPristine。
出于某种原因,当我这样设置类别时:
this.myForm.controls.categories.pristine仍然等于真。
angular - 如何使用输入数组构建 Angular 2 反应式表单
我正在构建自己的发票应用程序来学习 Angular 2。我使用 formBuilder 创建了我的模型。我的模型包含一组输入(发票的行项目),一旦映射到我的模板中,就会出现错误。(我遵循了这个例子:https ://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2 )。
这是错误、控制器和模板:
错误:
控制器:
模板(引发错误的区域):

