【发布时间】:2018-11-01 10:37:53
【问题描述】:
我有一个输入组件customInput,它创建了一个经典的输入字段并为其添加了一些布局香料,没有额外的逻辑。
我想传递一个 formControl 给它,将它绑定到它包含的输入。
应该这样使用:
<form [formGroup]="form">
<custom-input [formControl]="form.controls['control']"></custom-input>
</form>
内部自定义输入:
export class HidInputFieldComponent {
@Input() formControl: AbstractControl
...
}
<div class="container">
<input [formControl]="formControl"/>
<label>label</label>
</div>
现在当我初始化组件时,我得到了
未指定名称的表单控件没有值访问器
在我的组件构造函数中记录控件,它是未定义的。
是我做错了还是没有办法绕过ControlValueAccessor?由于我实际上并没有构建自定义控件(我仍然使用经典输入),因此看起来很极端
【问题讨论】:
-
您的输入必须是 @Input() formControl:FormControl,而不是 AbstractControl
-
没有。上面的代码有效,问题只是这个阻止渲染的控制台错误。如果我强制重新渲染,一切都很好
标签: angular angular-reactive-forms angular-forms