收藏
回答

input组件type属性为number时无法限制输入类型

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug input 微信iOS客户端 8.0.29 2.27.3

经测试其他小程序平台在ios下示例皆正常限制input的数字类型,唯独微信不能。具体表现为input的type为number时仅弹出数字键盘,用户使用第三方输入法时先弹出第三方输入法的数字键盘。此时用户能够返回输入非数字文本。其他小程序平台均不能正常输入非数字文本(某些平台依然可粘贴)。而点击密码类型的input后再点击number类型的input又能正常显示数字键盘(这时才只能输入数字,依然能粘贴非数字)

查阅了文档关于type的描述是弹出对应类型的键盘,按照描述来说,这个算不上bug,而且是做得很成功的。我们都明白,输入值的控制开发者能够通过正则表达式等方式来限制用户输入,提问前测试过京东,百度,字节跳动,支付宝等4家小程序的官方demo,均能正常限制用户输入类型,至少也做到上面描述的后者,仅能通过粘贴输入非数字字符。

虽然我认为这是一个bug,但这个bug对我来说是利大于弊的。项目中使用了连续的input,需要用到软键盘上的confirm-type,按钮来实现下一项等操作,限制后的软键盘这个功能可能会失效,除非基础库内置了弹出输入法弥补此处不足(支付宝使用了此方法)。

值得一提的是微信小程序的社区提问居然有字数限制,都希望用户反馈几十个字把问题描述清楚吗?

回答关注问题邀请回答
收藏
登录 后发表内容