У меня есть следующий макет:
Простой ввод HTML, работающий как автозаполнение со списком предложений ниже. Вкладки «Til salg» и «Alle boliger» будут охватывать поисковый запрос.
При нажатии на вкладку область поиска изменяется, и ввод перефокусируется (так как он теряет фокус при нажатии на что-либо еще). Проблема в том, что когда я меняю вкладку, ввод все еще имеет фокус (клавиатура открыта и может быть набрана), но курсор ввода (синяя мигающая линия) исчезает. Это скорее визуальная странность, потому что функциональность работает нормально - просто трудно понять, что ввод имеет фокус без каретки.
Это изображение показывает, что оно выглядит.
Вот функция, которую я использую для изменения фокуса ввода. Вызывается всякий раз, когда я нажимаю на одну из вкладок:
private _changeScope(scope: AutoCompleteScope) {
if (this.state.scope === scope) return;
if (this.state.input) {
this._doQuery(scope, this.state.input);
}
this.setState({ scope: scope, showLoader: this.state.isFetching ? true : false }, () => {
this.input.focus();
});
}
Кто-нибудь еще видел эту странную вещь раньше?