iOS не показывает клавиатуру для ввода
Есть карточная форма с заранее подставленным номером в инпут. Логика такая: при нажатии на инпут показывается дропдаун со всеми картами и так же возможностью ввести свою. Если юзер выбирает ввести свою карту, то инпут должен очиститься, зафокуситься и показаться клава (android/ios). Но в случае ios клава не показывается. Попытался заюзать хак (создавать призраный элемент, фокусить его, а потом необоходимый инпут). Хак работает, но не всегда. Если переместить хак в другой компонент, он перестает работать т.к. задержка между действием юзера и вызовом хака увеличивается. Кто сталкивался с похожей проблемой и может растолковать? Юзаю Vue в проекте
Исходник хака:
export default function (el: HTMLElement) {
if(el) {
const tempEl = document.createElement('input')!;
tempEl.style.position = 'absolute';
document.body.appendChild(tempEl);
tempEl.focus();
setTimeout(() => {
el.focus();
document.body.removeChild(tempEl);
}, 0);
}
}