Vue使用 weui picker 彈出框不消失
阿新 • • 發佈:2018-11-14
前言
最近使用 weui 裡面的 datepicker 元件的時候遇到了一個問題:
彈出來 選擇年月日的框之後,直接點選導航上的“返回” 按鈕,picker 選框不消失,也就是彈出框不消失
weui.datePicker({ start: 1900, // 從今天開始 end: 2030, defaultValue: dayArray, //cron: "* * 0,6", // 每逢週日、週六 onChange: function(result) {}, onConfirm: function(result) { _self.signData.requiredFields[index].val = result[0].value + "-" + result[1].value + "-" + result[2].value; _self.$forceUpdate(); }, id: "datePicker" });
然後你點返回的時候彈出框不消失
查閱了相關文件和資料
- 可以指定weui插入的容器,這樣當你在返回時就沒有了。
- 監測路由變化,自動觸發確定按鈕的點選事件。
我是在返回那個頁面 的 mounted()的方法裡面。程式碼如下:
mounted() { // new Mdate("dateSelectorOne"); let _this = this; let mask = document.getElementsByClassName("weui-mask")[0]; let picker = document.getElementsByClassName("weui-picker")[0]; if (mask && picker) { var btn = document.getElementsByClassName("weui-picker__action")[0]var e = document.createEvent("MouseEvents"); e.initEvent("click", true, true); btn.dispatchEvent(e); } }
這樣就解決了,有點投機取消的感覺,但也是解決了