溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決Vue.js和layui日期控件沖突的問題

發(fā)布時間:2021-07-20 09:42:13 來源:億速云 閱讀:160 作者:小新 欄目:web開發(fā)

這篇文章主要介紹如何解決Vue.js和layui日期控件沖突的問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

事故還原:

在用layui的日期控件的時候發(fā)現(xiàn)一個問題,就是form表單中的日期選擇之后,如果后面的輸入框再輸入值,這個日期就會自動清空,導(dǎo)致沒辦法提交,研究之后發(fā)現(xiàn)是vue的model綁定和layui沖突產(chǎn)生的,事實上是vue無法動態(tài)綁定layui中獲取到的日期值,我們把那個v-model去掉就好,但是去掉的話就沒辦法動態(tài)綁定后臺數(shù)據(jù).

下面是html+vuejs+layui

lyui通過use方法獲取到input的ID實現(xiàn)日期選擇,但是vue的model綁定和layui是有沖突的.

對于這個情況大概處理思路是這樣的:我們就不讓他自動綁定了,把這個input的v-model屬性去掉,然后再form表單提交之前利用jquery手動給這個屬性賦值就好了.

<input type="text" id="beginTime" name="teacherLeave.leaveBegin" v-model="teacherLeave.leaveBegin" class="layui-input">開始時間
<input type="text" name="teacherLeave.reson" v-model="teacherLeave.reson" class="layui-input">


<script>
layui.use('laydate', function() {
  var laydate = layui.laydate;
  //執(zhí)行一個laydate實例
  laydate.render({
    elem : '#beginTime' 
  });
 });
</script>

下面是具體處理的偽代碼:

//模擬提交方法
saveOrUpdate: function () {
   //輸出賦值之前的leaveBegin的值,為undefined
   //vm是vue.js頁面的一個data對象,這部分是vue.js的知識,不用特別在意
   alert(vm.teacherLeave.leaveBegin);
   //通過jquery獲取html頁面input的value值,并將這個值(即時間日期)賦給js中data的vm的teacherLeave屬性
   vm.teacherLeave.leaveBegin = $('#beginTime').val();
   //輸出賦值之后的leaveBegin的值,作對比
   alert(vm.teacherLeave.leaveBegin);
   //獲取的值不一樣,說明賦值成功
   }

以上是“如何解決Vue.js和layui日期控件沖突的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI