Vant 实现 上拉加载更多
Vant 的List 组件 默认支持 瀑布流滚动加载。官方的示例是用定时器模拟的数据。我们在项目实战中,肯定是结合ajax请求处理的。那么我们该如何实现这个效果呢?
Vant 的 List组件 使用方法这里就不详细说明了,官方文档已经写的很详细了。直接上项目中的实战代码:
<template>
<div>
<van-list
v-model="loading"
:finished="finished"
:immediate-check="false"
finished-text="没有更多了"
@load="onLoad"
:offset="10"
>
//itemList换成你自己的数据
<van-cell v-for="item in itemList" :key="item.id"> </van-cell>
</van-list> //没数据时显示
<div class="no-data" v-if="!this.itemList">
<img src="../assets/images/null.png" alt="暂无记录" class="img" />
</div>
</div>
</template> <script>
export default {
created() {
//创建组件时,加载第1页数据
this.getroadList();
}, data() {
return {
loading: false,
finished: false,
page: 1,//请求第几页
pageSize: 10,//每页请求的数量
total: 0,//总共的数据条数
itemList: [],
};
}, methods: {
getroadList() {
let params = {
page: this.page,
pageSize: this.pageSize
}; //this.$api.pay.schedule(params)是我自己封装的get请求接口
this.$api.pay.schedule(params).then(res => {
let rows = res.data.rows; //请求返回当页的列表 this.loading = false;
this.total = res.data.total; if (rows == null || rows.length === 0) {
// 加载结束
this.finished = true;
return;
} // 将新数据与老数据进行合并
this.itemList = this.itemList.concat(rows); //如果列表数据条数>=总条数,不再触发滚动加载
if (this.itemList.length >= this.total) {
this.finished = true;
}
});
}, //滚动加载时触发,list组件定义的方法
onLoad() {
this.page++;
this.getroadList();
}
}
};
</script>
注意事项:
设置<van-list>组件 :immediate-check="false"
理由:禁止 List 初始化时触发 load 事件。把加载第一屏的事件放在 created() 里面。

Vant 实现 上拉加载更多的更多相关文章
- vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多
		一.思路分析和效果图 用vue来实现一个瀑布流效果,加载网络图片,同时有下拉刷新和上拉加载更多功能效果.然后针对这几个效果的实现,捋下思路: 根据加载数据的顺序,依次追加标签展示效果: 选择哪种方式实 ... 
- 原生js移动端touch事件实现上拉加载更多
		大家都知道jQuery里没有touch事件,所以在移动端使用原生js实现上拉加载效果还是很不错的,闲话不多说,代码如下: //获取要操作的元素 var objSection = document.ge ... 
- H5基于iScroll实现下拉刷新,上拉加载更多
		前言 前一段有个手机端的项目需要用到下拉刷新和上拉加载更多的效果,脑海里第一反映就是微博那种效果,刚开始的理解有些偏差,以为下拉也是追加数据,上拉也是追加数据,后请教同事后发现其实下拉只是刷新最新数据 ... 
- 常见开发需求之angular上拉加载更多
		需求 移动端使用angular实现上拉加载更多的条目,这个需求比较常见,网上的插件改动起来比较麻烦,不如自己写一个最适合,以前有同事写了一个,奈何bug太多,后来改分页了,我们产品说什么都让做,没 ... 
- ListView实现Item上下拖动交换位置  并且实现下拉刷新  上拉加载更多
		ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多 package com.example.ListViewDragItem; import android.app.Ac ... 
- ionic 上拉加载更多&瀑布流加载&滚动到底部加载更多 主意事项
		首先下拉刷新的代码是这样的,标红的地方为关键代码 <html> <head> <meta charset="utf-8"> <meta n ... 
- android ListView下拉刷新 上拉加载更多
		背景 最近在公司的项目中要使用到ListView的下拉刷新和上拉加载更多(貌似现在是个项目就有这个功能!哈哈),其实这个东西GitHub上很多,但是我感觉那些框架太大,而且我这个项目只用到了ListV ... 
- Android 上拉加载更多功能
		前几天看了github上面的例子,参照它的实现,自己又稍微改了一点,往项目里面增加了一个上拉加载更多功能.具体的实现如下: 首先要重写ListView: import android.content. ... 
- android ListView上拉加载更多 下拉刷新功能实现(采用pull-to-refresh)
		Android实现上拉加载更多功能以及下拉刷新功能, 采用了目前比较火的PullToRefresh,他是目前实现比较好的下拉刷新的类库. 目前他支持的控件有:ListView, ExpandableL ... 
随机推荐
- Prometheus 配置文件详解
			Prometheus 配置文件详解 官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/ 指标说 ... 
- ES7.3.0配置邮件告警
			情况说明: 三台es组成集群,一台kibana,版本均为7.3.0 es版本要求是白金版,基础版的不行,不过可以试用30天的白金版 步骤:先说我自己走通的流程,然后介绍官方说明 1.因为我这边使用的是 ... 
- phpstorm 2016.3.2 的最新破解方法
			v2.0 最新的方式 第一:下载PHPStorm20173.2:(下载链接:windows) 第二:直接用浏览器打开 http://idea.lanyus.com/ ,点击页面中的“获得注册码”,然后 ... 
- Excel导出,添加有效性
			#region 添加有效性 DataTable dt = LAbll.LogisticsAccounts(DeptId); //查数据 if (dt.Rows.Count < 20) //有效 ... 
- ASP.NET Core 2.0升级到3.0的变化和问题
			前言 在.NET Core 2.0发布的时候,博主也趁热使用ASP.NET Core 2.0写了一个独立的博客网站,现如今恰逢.NET Core 3.0发布之际,于是将该网站进行了升级. 下面就记录升 ... 
- 微信小程序和asp.net core基于docker和nginx的交互
			这个文章的题目起的比较长,我想实现这样一个产品: 前端是微信小程序,后端是基于docker运行的asp.net core webapi.webapi通过nginx实现的反向代理接入,nginx同样基于 ... 
- 2019  中钢网java面试笔试题 (含面试题解析)
			本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.中钢网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了中钢网,入职一年时间了,也成为了面试官 ... 
- 查看mysql字符集、修改数据库、数据表、字段字符集
			查看所有表的字符集 SELECT table_name, table_type, engine, version, table_collation FROM information_schema.ta ... 
- Java 之 lambda 表达式
			一.函数式编程思想概述 在数学中,函数就是有输入量.输出量的一套计算方案,就是“拿什么东西做什么事情”.相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语 ... 
- HTML 结构标签(div+span)
			一.div 标签 div 就是 division 的缩写 分割, 分区的意思 常见的用途是文档布局. 二.span 标签 span, 跨度,跨距:范围 <span> 元素可用于为部分文本设 ... 
