Необходимо перезаписать компонент Input
, используя frameworks , и установить pattern
prop так, чтобы разрешать только цифры, если текущее устройство мобильно.
pattern
prop (или, скорее, атрибут) на элементах input проверяет значение ввода для проверки правильности ввода.При правильном шаблоне он управляет типом клавиатуры, которую вы получаете на мобильных устройствах.\d*
- это шаблон регулярных выражений, который допускает только цифры на входе.
const Input = (props) => <components.Input {...props} pattern={somehowCheckForMobile() ? "\\d*" : undefined} />;
<Select
{ ... }
components={{
Input
}}
/>
Пример CodeSandbox