無限滾軸(三) 搭配 背景更新,工作筆記,經驗筆記
前情提要
自從 做了無限滾軸後, 客戶提出也需要在背景更新。
當table 的內容 ,採用了無限滾軸後,內容其實是無上限的增加。
既使在背景是 讀取的API 有做換頁 讀取,當滾軸 回滾的時候 其實也很難知道 當前的陣列資料 是屬於第N頁的 API資料。 (圖1)
ex: 每往下滾 +20 ,+20,+20,+20,+20
頁面呈現 當 視覺 看到第 50 筆的時候, 要怎麼知道 這是 3次的 更新資料?
![]() |
| buffer (圖1) |
![]() |
| 無限滾軸難以取得頁數 (圖2) |
實際做法
這裡有兩種做法。
- 一種是 去紀錄 每次頁數的第N+1 筆資料,ex: 1,11,21,31,41,51...當切換到 當前滾軸的時候 去推算他是在 第N筆的哪一區, 例如每頁有10筆, 現在 可視區在第51筆,則是 51/10=5,推算這是在第5頁。
- 一種是 利用 滾軸的所在位置 /每行的高度/每頁有幾筆去做推算。
心得
一開始並沒有去做 回滾後,當前的視區是隸屬哪一頁,導致自動更新永遠只更新最新一頁。
當頁面回滾的時候,背景更新抓的卻還是新的一頁,ex: 滾到第10頁,回滾到中間的位置,背景更新卻還是在第10頁。
看到的時候還真的是耐人尋味,原來就是少了這一味,山珍海味😏
無限滾軸要注意的事情很多,還有頁面渲染遺失的問題,狸貓換太子,真假變不見。


留言
張貼留言