微信小程序-输入框输入文字后,将光标移到文字中间,接着输入文字后光标又自动跳到最后

问题描述:

  input输入框输入一段文字后,将光标移到文字中间,接着输入文字后光标又自动跳到最后去了。

原因:

  input事件中,给input框绑定任何事件后,在处理事件时 setData之后就会让光标到最后。说白了就是数据发生更新导致光标跑到最后。

 <input bindinput="sendText" confirm-type="send" value='{{sendVal}}' bindconfirm="send" />

   bindinput : 键盘输入时触发

  bindconfirm :点击完成按钮时触发


js文件中:
  sendText: function (e) {
    var _This = this;
    _This.setData({
      send_val: e.detail.value,
    })
  },

解决思路:

  设置两个值。sendVal 为 input 的value值,send_val 为暂时存储value值,sendText 方法负责将 e.detail.value 的值复制给 send_val

消息发送后将两个值都进行清空。

send : function (){
    if (sendValue == "") {
      wx.showToast({
        title: '不能发送空白信息'
      })
      return false;
    }

    this.setData({
      sendVal: "",
      send_val: ""
    })


}

  

原文地址:https://www.cnblogs.com/zhangym118/p/9274393.html