問題描述:
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: ""
})
}
