本文實(shí)例講述了微信小程序bindinput與bindsubmit的區(qū)別。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,先為府谷等服務(wù)建站,府谷等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為府谷企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
實(shí)際上的話,bindinput還有bindsubmit是沒有任何的可比性的,但是兩者還是常常被人一起比較,為啥?
比如一個(gè)簡(jiǎn)單的搜索框,你是愿意選擇使用bindinput還是使用bindsubmit?,雖然一個(gè)是表單,一個(gè)是文本輸入框,但是兩者都有一個(gè)共同點(diǎn),就是可以去獲取到用戶的輸入信息。這個(gè)時(shí)候,問題來了,區(qū)別在哪兒?
最簡(jiǎn)單的一段代碼在下面:
// pages/input/input.js Page({ data: { input1: "", input2: "" }, input1input: function (e) { console.log(e); console.log(e.detail.value.input1) }, input2input: function (e) { console.log(e); console.log(e.detail.value); } })
甚是簡(jiǎn)單,那么問題來了,區(qū)別在哪兒?
當(dāng)然,暫時(shí)的區(qū)別只有一個(gè),就是console.log
比較多,哈哈,開玩笑的。根據(jù)深圳那邊客戶的反應(yīng),說是使用input的時(shí)候,移動(dòng)光標(biāo)到一個(gè)地方后,輸入一個(gè)文字,會(huì)重新移動(dòng)光標(biāo)的尾部,當(dāng)然,不是上面的那些代碼了,上面的代碼是沒問題的
有問題的是下面的代碼:
// pages/input/input.js Page({ data: { input1: "this is the value for input1", input2: "this is the value for input2" }, input1input: function (e) { console.log(e); console.log(e.detail.value.input1); this.setData({ input1: e.detail.value.input1 }) }, input2input: function (e) { console.log(e); console.log(e.detail.value); this.setData({ input2: e.detail.value }) } })
其實(shí)原因很簡(jiǎn)單,就在一個(gè)地方,就是刷新界面的this.setData
這而,為啥?因?yàn)槟闼⑿潞?,value值修改,然后呢?
然后頁面就刷新了,再然后呢?再然后就是因?yàn)槟阍O(shè)置的是光標(biāo)自動(dòng)移動(dòng)到最后一步,所以,最好的話是使用input的時(shí)候要小心點(diǎn)咯,當(dāng)然我不是說使用input沒有使用submit好,只是適應(yīng)場(chǎng)景不同而已,比如沒必要使用bindinput的時(shí)候去刷新界面,或則說我個(gè)人比較偏愛使用bindsbmit吧,。
希望本文所述對(duì)大家微信小程序開發(fā)有所幫助。