我有多种形式,用户必须通过自动填写的方式指定国家/地区。
我实现了执行自动完成的服务(联系后端,处理响应和返回建议)
现在,我想创建一个组件以在所有表单中重复使用。
此组件取决于:
matInput field
mat-auto-complete
。该组件将实现ControlValueAccessor
和MatFormFieldControl
父组件会像这样使用它
<mat-form-field>
<auto-completed-country formControlName="country"></auto-completed-country>
</mat-form-field>
父组件创建名为FormControl
的country
并指定其验证器(在某些形式中要求国家/地区,而在其他形式中则不需要)。
问题
通常matInput
绑定到FormControl
,并通过[matAutocomplete]
指令自动完成。
但是在我的情况下情况并非如此,因为matInput
未绑定到FormControl
,我认为应该没问题,因为似乎matInput
可以绑定到任何[ C0]。
但是,我担心FormControl
指令,我发现读取了它与[matAutocomplete]
及其关联的matInput
交互的源。
我应该如何处理?
我使事情变得比必要复杂吗?
没有FormControl的自动完成将正常工作。