vue的$nextTick使用總結,this.$refs為undefined的解決辦法,element Ui的樹形控件setCheckedKeys方法無法使用


其實這3個講的是一個問題,先說下問題,我在watch里設置一個監聽,當彈窗打開時,自動添加樹形的默認選中項,

但奇怪的是this.$refs為undefined,自然setCheckedKeys無法使用,這個時候就要用到$nextTick,不懂的朋友先去百度下,
大致來說就是一個虛擬dom變成真實之后的一個回調,只有在回調里面才能獲取到$refs,問題自然就解決了

watch: {
    dialogVisible (val) {
      if (val) {
          this.setDefaultChecked()  // 如果為true。那么調用設置樹形默認值的方法
      }
    }
  },
methods: {
    setDefaultChecked () {
      this.$nextTick(() => {
        this.$refs.Tree.setCheckedKeys(this.CheckedArr) // CheckedArr 一個選中的數組element Ui的東西,關鍵是看$nextTick的用法
      })
    },
}

總結一下,以后this.$refs為undefined的時候,不妨考慮下是不是真實dom還沒有形成,可以用 this.$nextTick包裹一下試試,這也是 this.$nextTick我目前使用到的地方


免責聲明!

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



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