小程序关于bindinput每输入一个字符就收起键盘,在线等~~~
发布于 7 年前 作者 uqiao 13156 次浏览 来自 问答

<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移到页面中,直接在页面上输入则无此问题

请问这个问题如何解决,在线等

4 回复

不要在bindinput上绑定进行value的操作,特别是在iOS上有兼容性问题。你可以使用bindblur

多个表单用同一个事件回调,自己都有可能乱,更何况底层。

毕竟还是在不断完善中的产品。

嗯,应该是setData重绘失去了焦点的原因,可能在modal重绘的时候才有这个问题

看其他类似问题有说在bindinput的方法中有setData,这个测试后结论是没有影响的

回到顶部