将表格设置为angular

时间:2019-02-13 02:57:27

标签: angular angular-reactive-forms

我有一个角度形式,可以动态生成项目(基于报告类型)。对于可能有条件存在的表单项,尝试将它们绑定到模型属性似乎过于困难。我想声明一个具有可变成分(给定名称,值等)的表单,并通过一个form属性访问它们。

事实证明这有点困难,我在这种方法中遇到了各种错误。

仅通过属性绑定声明表单:(表单[(nGModel)]="testForm"和ts:testForm: form产生

“如果在表单标记中使用ngModel,则必须设置name属性,或者必须在ngModelOptions中将表单控件定义为“独立””

如果我声明表单的名称:(表单[(nGModel)]="testForm" name="blah"),则会出现以下错误

“名称为'blah'的表单控件没有值访问器”

我尝试将'providers:NG_VALUE_ACCESSOR'添加到组件声明中,但这会产生inectiontoken缺少x属性的编译错误

解决此问题的最直接方法是什么(想将整个表单设置为属性来获取表单控件,例如this.paramsForm.getControl或类似的东西来获取这些表单项的列表)。任何帮助,将不胜感激。如果不清楚,我是新来的人

2 个答案:

答案 0 :(得分:0)

如果您使用的是Reactive表单,则需要在HTML文件中声明formControlName,就像下面在input字段中一样,您无需在此处添加ngModel

<input type="text"  formControlName="nameCtrl" >

希望这会有所帮助!

答案 1 :(得分:0)

如果使用的是反应式表单,则可以定义formControlName =“ property”。 ngModel在反应形式中不是必需的,已在“模板驱动形式”中使用。

upload_max_filesize: 64M