vue在el-dialog中this.$refs值為undefined問題


vue中元素上加上ref屬性取值,相當於取整個元素的,和$("#id")類似。但是要用此屬性需要了解加載的時間,從官網上可以看到

關於 ref 注冊時間的重要說明:因為 ref 本身是作為渲染結果被創建的,在初始渲染的時候你不能訪問它們 - 它們還不存在!$refs 也不是響應式的,因此你不應該試圖用它在模板中做數據綁定。

一般用法就是在mounted方法中加入this.$nextTick

具體例子

<el-input ref="childShow" />

  mounted() {
    this.$nextTick(() => {
      if (this.$refs.childShow !== undefined) {
        this.$refs.childShow.setTree('0000', '', '')
      }
    })
}

但是如果$refs在el-dialog中用上述方法還是會undefined

解決的方法就是在el-dialog中加入回調函數@open,然后在回調函數方法中用this.$nextTick。


免責聲明!

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



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