elementUI的dialog無法獲取dom


1、問題描述:在彈框里,有個table,我本意是想着在拿到數據渲染table后,利用setCurrentRow()方法讓第一行為默認選中高亮狀態,這就需要操作dom,然而這個dom在這里根本拿不到,即使是加了this.$nextTick(()=>{})。

 

 2、但是根據以往的經驗,我一般關閉dialog或者提交數據的時候都會調用dom進行清除數據或者驗證,所以根據ref來操作dom是沒有問題的(雖然我在dialog中直接獲取不到dom,但是點擊事件中都能獲取到dom)

 

 3、原因:找了半天才發現……真是眾里尋他千百度、一瞅文檔喊卧槽啊!

 

 4、解決:我發現open事件就是個垃圾……正確姿勢是在給底部加上slot='footer',我之前一直都是刪掉的,覺得沒有用,footer這個B玩意是實時加載的,你說氣人不?

 

 5、試一下:mounted()中可以直接打印this.$refs,created()中打印dom需要加上this.$nextTick()

 

 6、總結:這個懶渲染區域有點像v-if,在打開彈框前一直都拿不到dom的,點擊事件一定是在打開后你才能點得到按鈕的吧,所以點擊事件可以拿到dom,なるほど

 

 7、補充:解決第一條數據高亮可以設置   :class="{firstRow:isFirstRow}"   ,設置firstRow的樣式后,控制isFirstRow的值為true還是false就行了

 


免責聲明!

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



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