vant下拉加载更多,vant 上拉加载

  vant下拉加载更多,vant 上拉加载

  上拉加载下拉刷新功能在各类app中无处不在。本文主要介绍vue基于vant的上拉加载和下拉刷新的实现。通过示例代码详细介绍,有一定的参考价值,感兴趣的朋友可以参考一下。

  

前言

  大家都很熟悉各种app中常见的上拉加载下拉刷新功能。一般来说,在数据量很大的情况下,为了渲染更快,给用户更好的视觉体验,我们会对数据进行分页,让其批量加载。这样渲染速度可以给用户更好的体验效果。话又说回来,分页处理,也就是我们今天要讲的上拉加载和下拉刷新。

  

实现思路

  刷新:

  将值赋给接口后,比较接口返回的数据长度和数据总数来控制加载和卸载状态。在下拉刷新方法中,将初始页码定义为第一页,将加载状态调整为false,最后调用请求数据的接口方法,并给出适当的灯光提示。

  上拉负载:

  首先,在数据中定义一个新数组,将新加载的数据与旧数据合并。在上拉加载方法中,加载的页码是递增的。然后,请求接口赋值,接口返回的数据被循环并添加到列表数组中。将返回数据的长度与数据总数进行比较,通过控制加载不加载的状态实现上拉加载。

  事不宜迟,让我们开始示例开发。下面是我为了方便你而做的一个小演示。可以根据相关代码和注释快速上手。

  模板

  差异

  !-van-pull-refresh:下拉刷新

  van-pull-refresh v-model= is loading @ refresh= on refresh

  !-拉起来装上-

  van-list v-model= loading :finished= finished :immediate-check= false finished-text= no more

  @load=onLoad :offset=20

  div class= outer box v-for=(item,index) in list :key=index

  公司名称:{{item.gsmc}}/div

  Div行业类别:{{item.hylb}}/div

  div的进入限制:{{item.jcxz}}/div

  /div

  /van-list

  /van-pull-refresh

  /div

  /模板

  脚本

  从“@/API/enforcement”//import接口文件导入{getpassanalysislist}

  导出默认值{

  data() {

  返回{

  //传递到后端的参数

  incomePayData: {

  PageNumber: 1,//请求的是什么页面?

  PageSize: 10,//每页的请求数

  },

  列表:[],//列表数据

  ListTwo: [],//用于上拉加载时合并数据。

  总计:0,//总页数

  IsLoading: false,//下拉刷新

  Loading: false,//上拉加载

  已完成:false,//加载和卸载状态

  }

  },

  已安装(){

  this . getpassanalysislist();//列表数据接口

  },

  方法:{

  //列表数据接口

  getPassAnalysisList() {

  getPassAnalysisList(this . incomepaydata)。然后(res={

  if (res.code==10000) {

  this . list=RES . data . records;//将接口返回给由赋值数据定义的数组

  this . total=RES . data . total;//将接口返回的数据总数赋给data中定义的总数

  if(this . list . length=this . total){//比较返回数据的长度与总件数,控制加载未加载的状态。

  this.finished=true

  }

  }

  })

  },

  //下拉刷新

  onRefresh() {

  this . incomepaydata . page number=1;//从第一页开始

  this.finished=false//装载和卸载的状态

  setTimeout(()={

  this.isLoading=false//下拉刷新状态

  This.getPassAnalysisList() //成功刷新调用列表方法。

  这个。$toast(刷新成功);//灯光提示信息

  }, 700);

  },

  //上拉加载

  onLoad() {

  this . incomepaydata . page number;//加载时页码递增

  getPassAnalysisList(this . incomepaydata)。然后(res={

  if (res.code==10000) {

  this . list two=RES . data . records;//将接口返回给由赋值数据定义的数组

  this . total=RES . data . total;//将接口返回的数据总数赋给data中定义的总数

  This.listTwo.forEach(item={//循环返回的数据并将其添加到列表中

  this.list.push(项目)

  })

  //加载状态结束状态更新为false。

  this.loading=false

  if(this . list . length=this . total){//比较返回数据的长度与总件数,控制加载未加载的状态。

  this.finished=true

  }

  }

  })

  },

  }

  }

  /脚本

  样式范围

  /*外框的样式*/。外箱{

  填充:10px

  box-shadow: 0px 1px 4px rgba(0,0,0,0.3),

  0px 0px 20px rgba(0,0,0,0.1)inset;

  边距:0px 16px 16px 16px

  溢出:隐藏;

  }

  /风格

  至此,这个小功能已经实现了。下图是实现的效果。有兴趣的可以私信自己试试。

  关于vue基于vant的上拉加载和下拉刷新的这篇文章到此为止。更多相关vue vant上拉加载和下拉刷新内容,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: