vue 長列表性能優化記錄

一個頁面要展示200條數據,每條數據都是一個ckeditor富文本編輯器,並且每條記錄的高度不一致,頁面非常卡。

優化方式是使用虛擬列表的邏輯,頁面始終展示10條數據。

當頁面滾動到底部時,底部增加2條數據,頂部減少2條。滾動到頂部則相反操作。

這樣可以保證永遠都是10條,但是因爲高度不一致,所以數據條目變更時,頁面會向上多滾動一些,或向下多滾動一些,不會定位到尾部。

解決方式是當是數據變更後,控制滾動條滾動到指定的位置。

具體代碼邏輯:

1.外圍有個div,固定高度,使滾動條出現

2.監聽頁面滾動到底部,底部加載2條,頂部減去2條

因爲vue框架使用element,所以判斷是否滾動到底部使用了 InfiniteScroll 無限滾動

3.監聽滾動到頂部,在外圍div上添加 @scroll 方式,判斷距離頂部高度

4.控制滾動條移動到指定位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章