[英]Reset reactive form FormControl / AbstractControl inside custom control with CustomValueAccessor
我有一个实现CustomValueAccessor
的组件,它内部有clear()
方法来重置给定formControlName
的值。 在引擎盖下有<input type="file">
。 将其设置为@ViewChild
并设置本机元素值不会反映到FormGroup
。 也从registerOnChange(fn: Function) {}
用 null 触发回调不起作用。
现在我只是将formGroup.controls.get('myControl')
作为@Input()
传递给自定义控件组件,在那里重置它。 但是有没有更好的方法来了解自定义控件组件中的控件? 我还使用EventEmitter
在组件外部执行此操作,但希望在组件中编写一次此逻辑。
您可以在组件内创建一个FromControl
并以反应方式使用它。
.ts 文件:
control = new FormControl();
html文件:
<input type="file" [formControl]="control">
然后,如果您想重置它,您只需使用更新的值调用this.control.reset()
和propagateChange()
更改propagateChange()
(在您的情况下可能未定义)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.