收藏
回答

小程序关于bindinput每输入一个字符就收起键盘,在线等~~~

问题模块
API和组件


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


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


最后一次编辑于  2017-12-15
回答关注问题邀请回答
收藏

4 个回答

  • C.Q.Q
    C.Q.Q
    2017-12-15

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


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

    2017-12-15
    赞同
    回复
  • 🕸🌪🐯飞驰
    🕸🌪🐯飞驰
    2017-12-15

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

    2017-12-15
    赞同
    回复
  • C.Q.Q
    C.Q.Q
    2017-12-15

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

    2017-12-15
    赞同
    回复
  • 🕸🌪🐯飞驰
    🕸🌪🐯飞驰
    2017-12-15

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

    2017-12-15
    赞同
    回复