У меня есть несколько форм, в которых пользователи должны указать свою страну с помощью автозаполнения.
Я реализовал сервис, выполняющий автозаполнение (связываться с сервером, обрабатывать ответы и возвращать предложения)
Теперь я хочу создать компонент для повторного использования во всех формах.
Этот компонент будет зависеть от:
- услуга, которую я упомянул
- a
matInput field
- a
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
, не привязанный ни к одному FormControl
.
Однако меня беспокоит директива [matAutocomplete]
, которую я полагал, читая источник, с которым она взаимодействует с matInput
и связанным с ним FormControl
.
Как мне к этому подойти?
Я что-то усложняю, чем необходимо?