MuiOtpInput设置inputProps的inputMode为numeric无效,移动端无法唤起数字键盘
解决MuiOtpInput设置inputMode唤起数字键盘无效的问题
首先你当前的inputProps传递方式不对——mui-one-time-password-input的inputProps属性接受的是单个对象,而非数组。组件会自动把这个对象应用到所有OTP输入框上,不需要逐个重复设置。
试试改成下面的写法:
<MuiOtpInput value={otp} onChange={handleChange} inputProps={{ inputMode: 'numeric', type: 'tel', // 额外添加tel类型,增强移动端数字键盘唤起的兼容性 pattern: "[0-9]*" // 辅助浏览器明确识别输入内容为数字 }} />
补充说明:
type: 'tel'是为了兼容部分安卓设备,有些浏览器对inputMode="numeric"的支持不如type="tel"直接,两者结合能覆盖更多场景。- 如果修改后仍无效果,可以检查库的版本,部分旧版本可能存在
inputProps传递的bug,尝试更新到最新版再测试。
内容的提问来源于stack exchange,提问作者Shahryar Faraji
相关产品推荐
相关产品推荐

