现在还没有改过来,就算在input 标签中用了type="number" ,的开发者工具中仍可以输入数字和字母,在手机中,输入时就只有数字键可以输入。 不管是在开发者工具中,还是在手机中,输入后获得的数据类型都是字符串型的。就算用了type="number" ,仍是字符串型的。 <!--pages/demo01/demo01.wxml--> <text>我的演示01</text> <button type="primary" bindtap="dianji" data-can0="{{10}}">按此+10</button> <button type="warn"bindtap="dianji" data-can0="{{-10}}">按此-10</button> <view> <input type="number" bindinput="inputsr"></input> <view>{{sum}}</view> </view> // pages/demo01/demo01.js Page({ data: { sum:100 }, //input输入框的执行逻辑 inputsr(e){ var sum00 = e.detail.value this.setData({sum:e.detail.value}) console.log(sum00, sum00.constructor); }, //加减按钮的事件 dianji(e){ this.setData({ sum: this.data.sum + e.currentTarget.dataset.can0 }) }, 说明:sum 初始值100是数字类型,直接点 +10按钮 或 -10按钮,可以正常加减运算,一旦有输入,当输入1235,sum仍能显示是1235,但是在:console 中,已经是字符形式的“1235”了,如果再点 +10按钮 或 -10按钮,会看到:12351010-10-10,这是我点了两次+10,两次-10按钮。如再从输入ADJ,输出又变成了1235ADJ. [图片][图片][图片][图片]
input组件设置了type为number,还可以输入其它内容[图片]
2020-03-15