vant地址:https://youzan.github.io/vant/#/zh-CN/intro

基础用法

List 组件通过loadingfinished两个变量控制加载状态,当组件滚动到底部时,会触发load事件并将loading设置成true。此时可以发起异步操作并更新数据,数据更新完毕后,将loading设置成false即可。若数据已全部加载完毕,则直接将finished设置成true即可。

<van-list
  v-model="loading"
  :finished="finished"
  finished-text="没有更多了"
  @load="onLoad"
>
  <van-cell
    v-for="item in moreList"
    :key="item"
    :title="item"
  />
</van-list>
export default {
  data() {
    return {
      moreList: [],
      loading: false,
      finished: false,
    pageNume:1,
    pageSize:10,
    loadTag:
1 //标记是否触发onLoad函数 }; }, methods: { onLoad() {          if(this.loadTag==1){       //请求接口得到数据给list数组   this. getMoreData()    this.loadTag=0;        setTimeout(() => { // 加载状态结束 this.loading = false; }, 500);     }      }, getMoreData(){ let params={"pageNum":this.pageNum,"pageSize":this.pageSize} getInformationMore(params).then(res =>{ console.log(res) if(res.data.code==200){ let data=res.data.data; console.log(this.pageNum) for(let i=0;i<data.length;i++){ this.moreList.push(data[i]); } let total=this.moreList[0].total; let end=this.moreList.length; // 数据全部加载完成 if (end>=total) { this.finished = true; this.loadTag=0; return; } this.pageNum++; this.loadTag=1; }else{ this.$toast(res.data.msg); this.finished = true; this.loadTag=0; } }) } } }

 

  

 

API

Props

参数 说明 类型 默认值 版本
v-model 是否处于加载状态,加载过程中不触发load事件 boolean false
finished 是否已加载完成,加载完成后不再触发load事件 boolean false
error 是否加载失败,加载失败后点击错误提示可以重新
触发load事件,必须使用sync修饰符
boolean false
offset 滚动条与底部距离小于 offset 时触发load事件 number 300
loading-text 加载过程中的提示文案 string 加载中...
finished-text 加载完成后的提示文案 string
error-text 加载失败后的提示文案 string
immediate-check 是否在初始化时立即执行滚动位置检查 boolean true
direction 滚动触发加载的方向,可选值为up string down

Events

事件名 说明 回调参数
load 滚动条与底部距离小于 offset 时触发

方法

通过 ref 可以获取到 list 实例并调用实例方法

方法名 说明 参数 返回值
check 检查当前的滚动位置,若已滚动至底部,则会触发 load 事件

Slots

名称 说明
default 列表内容
loading 自定义底部加载中提示

版权声明:本文为xiaobaibubai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaobaibubai/p/11719966.html