vue如何判斷v-if中的DOM元素渲染完畢?

vue如何監聽符合v-if條件的dom元素渲染完畢,然後才能進行後續的操作,但是如何才能知道當前DOM元素已經渲染完畢了呢?

今天在開發一個評論列表的時候一直有這個問題,使用了各種監聽,還是不行,最後使用了$nextTick的回調,才解決了問題。需求如下:

 

以上評論列表中,點擊一條評論內容彈出評論框進行評論,需要使得輸入框自動聚焦並且在手機瀏覽器中彈出鍵盤, 實現代碼如下: 

以上代碼必須要在數據變化後使用才能生效;

this.showCommentBox = true; //展示評論框==》數據變化
// 此時 DOM 還沒有更新,設置回調函數
this.$nextTick(function() {
// 此時已經渲染完成
this.$refs.commentField.focus();
_this.showConfirmBar = false;
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章