Vue使用 weui picker 彈出框不消失


前言

最近使用 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"
 });

然后你點返回的時候彈出框不消失

查閱了相關文檔和資料

  1. 可以指定weui插入的容器,這樣當你在返回時就沒有了。
  2. 監測路由變化,自動觸發確定按鈕的點擊事件。

我是在返回那個頁面 的  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);
      console.log(btn.dispatchEvent(e))
      btn.dispatchEvent(e);
    }
}

 

這樣就解決了,有點投機取消的感覺,但也是解決了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM