<input type="number" placeholder="输入金额" maxlength="4" bindinput="inAmount">{{amount}}input>
inAmount: function (e) {
if (e.detail.value == "") {
this.setData({
amount: 0.00.toFixed(2)
})
} else {
this.setData({
amount: parseInt(e.detail.value).toFixed(2)
})
this.getTotal();
}
},
测试机型:
苹果7与红米note
场景一:页面中有textarea,input是在弹出层modal上。每次点击弹出层后需要隐藏textarea(由于textarea的z-index问题),然后在input中输入金额,每输入一个数字都会收起键盘失去焦点
场景二:将此input移到页面中,直接在页面上输入则无此问题
请问这个问题如何解决,在线等
多个表单用同一个事件回调,自己都有可能乱,更何况底层。
毕竟还是在不断完善中的产品。
嗯,应该是setData重绘失去了焦点的原因,可能在modal重绘的时候才有这个问题
不要在bindinput上绑定进行value的操作,特别是在iOS上有兼容性问题。你可以使用bindblur
看其他类似问题有说在bindinput的方法中有setData,这个测试后结论是没有影响的