非常教程

Mint UI参考手册

JS组件 | JS Components

无限滚动指令 | Infinite scroll

无限滚动指令。


引入

import { InfiniteScroll } from 'mint-ui';

Vue.use(InfiniteScroll);

例子

为 HTML 元素添加 v-infinite-scroll 指令即可使用无限滚动。滚动该元素,当其底部与被滚动元素底部的距离小于给定的阈值(通过 infinite-scroll-distance 设置)时,绑定到 v-infinite-scroll 指令的方法就会被触发。

<ul
  v-infinite-scroll="loadMore"
  infinite-scroll-disabled="loading"
  infinite-scroll-distance="10">
  <li v-for="item in list">{{ item }}</li>
</ul>
loadMore() {
  this.loading = true;
  setTimeout(() => {
    let last = this.list[this.list.length - 1];
    for (let i = 1; i <= 10; i++) {
      this.list.push(last + i);
    }
    this.loading = false;
  }, 2500);
}

API

参数

说明

类型

可选值

默认值

infinite-scroll-disabled

若为真,则无限滚动不会被触发

Boolean

false

infinite-scroll-distance

触发加载方法的滚动距离阈值(像素)

Number

0

infinite-scroll-immediate-check

若为真,则指令被绑定到元素上后会立即检查是否需要执行加载方法。在初始状态下内容有可能撑不满容器时十分有用。

Boolean

true

infinite-scroll-listen-for-event

一个 event,被执行时会立即检查是否需要执行加载方法。

Function