我有一个角度形式,可以动态生成项目(基于报告类型)。对于可能有条件存在的表单项,尝试将它们绑定到模型属性似乎过于困难。我想声明一个具有可变成分(给定名称,值等)的表单,并通过一个form属性访问它们。
事实证明这有点困难,我在这种方法中遇到了各种错误。
仅通过属性绑定声明表单:(表单[(nGModel)]="testForm"
和ts:testForm: form
产生
“如果在表单标记中使用ngModel,则必须设置name属性,或者必须在ngModelOptions中将表单控件定义为“独立””
如果我声明表单的名称:(表单[(nGModel)]="testForm" name="blah"
),则会出现以下错误
“名称为'blah'的表单控件没有值访问器”
我尝试将'providers:NG_VALUE_ACCESSOR'添加到组件声明中,但这会产生inectiontoken缺少x属性的编译错误
解决此问题的最直接方法是什么(想将整个表单设置为属性来获取表单控件,例如this.paramsForm.getControl或类似的东西来获取这些表单项的列表)。任何帮助,将不胜感激。如果不清楚,我是新来的人
答案 0 :(得分:0)
如果您使用的是Reactive表单,则需要在HTML文件中声明formControlName
,就像下面在input
字段中一样,您无需在此处添加ngModel
<input type="text" formControlName="nameCtrl" >
希望这会有所帮助!
答案 1 :(得分:0)
如果使用的是反应式表单,则可以定义formControlName =“ property”。 ngModel在反应形式中不是必需的,已在“模板驱动形式”中使用。
upload_max_filesize: 64M