我覺得虛擬列表性能會比較好,所以強烈推薦使用虛擬列表,然后同事跟我說虛擬列表,子項的高度都是一致的,沒辦法自適應高度,一看,是這樣
1.必須傳遞高度值
2.虛擬列表的高度也必須傳遞 並且height
屬性一定要是一個固定值,不能是百分比或vh/vw等。可以在computed
里面進行一系列處理
從原理來看,這些組件都是通過計算好列表的長度(所以必須傳高度),在wrapper處加上合適的padding-top和padding-bottom撐起這個列表,同時通過IntersectionObserver
等方式判斷組件是否進入/離開了視口,並且只保留距離視口一定范圍內的DOM元素。隨着用戶滾動不斷更新展示的組件,這樣就在用戶無感的情況下做到了對超長列表的部分展示。
然后我妥協了 23333