我有一个实现CustomValueAccessor
的组件,该组件内部具有clear()
方法来重置给定formControlName
的值。在引擎盖下有<input type="file">
。将其设置为@ViewChild
并设置本机元素值不会反映到FormGroup
。同样无法触发来自registerOnChange(fn: Function) {}
的null回调。
现在,我只是将formGroup.controls.get('myControl')
作为@Input()
传递给自定义控件组件,并在此处进行重置。但是,有没有更好的方法来限制自定义控件组件中的控件?我还使用EventEmitter
在组件外部进行操作,但希望将此逻辑一次在组件中编写。
答案 0 :(得分:0)
您可以在组件内部创建FromControl
并以反应方式使用它。
ts文件:
control = new FormControl();
html文件:
<input type="file" [formControl]="control">
然后,如果您想重置它,只需使用更新后的值(在您的情况下可能未定义)调用this.control.reset()
和propagateChange()