infinity(v1.12.0+)

  • 类型:Boolean | Object
  • 默认值:false
  • 作用:该配置的使用场景是长列表滚动或者是无限滚动,默认为 false。如果开启需要配置成一个对象,实现 3 个函数,例如:
  1. infinity: {
  2. fetch(count) {
  3. // 获取大于 count 数量的数据,该函数是异步的,它需要返回一个 Promise。
  4. // 成功获取数据后,你需要 resolve 数据数组(也可以 resolve 一个 Promise)。
  5. // 数组的每一个元素是列表数据,在 render 方法执行的时候会传递这个数据渲染。
  6. // 如果没有数据的时候,你可以 resolve(false),来告诉无限滚动列表已经没有更多数据了。
  7. }
  8. render(item, div) {
  9. // 渲染每一个元素节点,item 是数据,div 是包裹元素节点的容器。
  10. // 该函数需要返回渲染后的 DOM 节点。
  11. },
  12. createTombstone() {
  13. // 返回一个墓碑 DOM 节点。
  14. }
  15. }

具体的示例代码可以参考这里,对应的演示 demo。infinity 的实现参考了这篇文章,并在此基础上加入了滚动结束的能力。注意:除非你有大量的数据渲染需求,否则使用普通的滚动即可。

原文: https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/options-advanced.html