VantUI中的van-list,即瀑布流滾動加載,用于展示長列表,當列表即將滾動到底部時,會觸發事件并加載更多列表項。
官網給出的示例如圖所示:

首先設置listLoading和finished兩個變量,listLoading控制列表數據的加載狀態,finished為是否已加載完成,加載完成后不再觸發load事件。

@load="onLoadList"綁定了一個加載事件,當滾動條與底部距離小于 offset 時觸發。
在onLoadList方法中請求后臺數據,由于當組件滾動到底部時,會觸發 load 事件并將 loading 設置成 true,只需要獲取成功后修改listLoading與finished的值即可,如圖所示:


但是執行時,卻會發生請求異常問題,onload事件不斷觸發,數據會不停的請求并加載。
此時我們需要將listLoading和finished兩個變量初始化,


這樣便可以解決同時發出多個請求的問題。
若修改之后問題還沒有解決,可能是因為一次請求加載的數據條數較少,導致列表內容無法鋪滿當前屏幕,List 會繼續觸發 load 事件,直到內容鋪滿屏幕或數據全部加載完成。解決方法就是將offset值設置的高一點(默認是300)。
上一篇: 層級選擇器之關鍵詞搜索功能



