Я пытаюсь реализовать поле со списком input
и button
. Стиль для фокуса должен сделать эти элементы похожими, поэтому я пытаюсь делегировать фокус хосту, но, похоже, он не работает.
Шаблон:
<input #input alloy class="alloy-combobox-input" [matAutocomplete]="auto" (input)="filterOptions($event.target.value)" >
<button #button alloy toolbar class="alloy-combobox-button" [alloyMenuTriggerFor]="menu">
<alloy-icon icon="caret" orientation="down"></alloy-icon>
</button>
Фокус :
ngOnInit(): void {
this.focusMonitor.monitor(this.el);
this.focusMonitor.monitor(this.button).pipe(takeUntil(this.ngUnsubsribe)).subscribe(origin => {
this.focusMonitor.focusVia(this.el, origin);
});
this.focusMonitor.monitor(this.input).pipe(takeUntil(this.ngUnsubsribe)).subscribe(origin => {
this.focusMonitor.focusVia(this.el, origin);
});
}
Я получу cdk-focus на input
, когда щелкну по нему, но он не перенаправит фокус на хост компонента alloy-combobox
.
Что было бы хорошим способом координировать фокусные эффекты input
и button
, чтобы они выглядели как один элемент?