链接:https://youzan.github.io/vant/#/zh-CN/list#ji-chu-yong-fa
基础用法
List 组件通过 loading 和 finished 两个变量控制加载状态,当组件滚动到底部时,会触发 load 事件并将 loading 设置成 true。此时可以发起异步操作并更新数据,数据更新完毕后,将 loading 设置成 false 即可。若数据已全部加载完毕,则直接将 finished 设置成 true 即可

<van-listv-model="loading":finished="finished"finished-text="没有更多了"@load="onLoad"
><van-cell v-for="item in list" :key="item" :title="item" />
</van-list>
export default {data() {return {list: [],loading: false,finished: false,};},methods: {onLoad() {// 异步更新数据// setTimeout 仅做示例,真实场景中一般为 ajax 请求setTimeout(() => {for (let i = 0; i < 10; i++) {this.list.push(this.list.length + 1);}// 加载状态结束this.loading = false;// 数据全部加载完成if (this.list.length >= 40) {this.finished = true;}}, 1000);},},
};

示例

 methods: {// 封装获取文章列表数据的方法// isRefresh为布尔值  是否下来刷新async initArticleList(isRefresh) {// 发起 GET 请求,获取文章的列表数据const { data: res } = await getArticleListAPI(this.page, this.limit)// 下拉传true  不下拉默认undefined falseif (isRefresh) {// 证明是下拉刷新;新数据在前,旧数据在后// this.artlist = [新数据在后, 旧数据在前]// ...表示将数组展开this.artlist = [...res, ...this.artlist]this.isLoading = false} else {// 证明是上拉加载更多;旧数据在前,新数据在后// this.artlist = [旧数据在前, 新数据在后]this.artlist = [...this.artlist, ...res]this.loading = false}if (res.length === 0) {// 证明没有下一页数据了,直接把 finished 改为 true,表示数据加载完了!this.finished = true}},// 只要 onLoad 被调用,就应该请求下一页数据onLoad() {console.log('触发了 load 事件!')// 1. 让页码值 +1this.page++// 2. 重新请求接口获取数据this.initArticleList()},// 下拉刷新的处理函数onRefresh() {console.log('触发了下拉刷新!')// 1. 让页码值 +1this.page++// 2. 重新请求接口获取数据this.initArticleList(true)}},

了解List组件的基本用法相关推荐

  1. Vue 单文件组件||Vue 单文件组件的基本用法||webpack 中配置 vue 组件的加载器|| 在 webpack 项目中使用 vue

    Vue 单文件组件 传统组件的问题和解决方案 1. 问题 1. 全局定义的组件必须保证组件的名称不重复 2. 字符串模板缺乏语法高亮,在 HTML 有多行的时候,需要用到丑陋的 \ 3. 不支持 CS ...

  2. java的setbounds_java Swing组件setBounds()简单用法实例分析

    本文实例讲述了java Swing组件setBounds()简单用法.分享给大家供大家参考,具体如下: 先看API: public void setBounds(Rectangle r) 移动组件并调 ...

  3. Ext.form.TextField组件的基本用法

    本文主要介绍Ext.form.TextField组件的基本用法: <form id="form1" runat="server"> <div& ...

  4. vue中父子组件及 watch用法

    父子组件及 watch vue中父子组件及 watch用法 - coder_zhang123456 - 博客园

  5. 目录树组件QTreeWidget和停靠区域组件QDockWidget的用法

    简 述: 目录树组件QTreeWidget和停靠区域组件QDockWidget的和QScrollArea用法:然后写的一个小的相册查看器例子 文章目录 QTreeWidget组件: QDockWidg ...

  6. react-native播放视频组件 react-native-video的用法

    react-native-video 是一个播放视频的开源组件, 它的用法很简单. 1.安装 依次执行下面两个命令, npm i -S react-native-video react-native ...

  7. uniapp将时间日期格式化的组件uni-dateformat的用法

    uniapp开发时,我们需要将数据库里取到的时间戳格式化为某个格式的日期时间形式,uniapp官方插件市场的uni-dateformat组件即可解决. uniapp官方插件地址及详细用法介绍:uni- ...

  8. JS组件系列——KnockoutJS用法

    前言:出于某种原因,需要学习下Knockout.js,这个组件很早前听说过,但一直没尝试使用,这两天学习了下,觉得它真心不错,双向绑定的机制简直太爽了.今天打算结合bootstrapTable和Kno ...

  9. element input组件常用属性用法

    在vue项目中肯定会用到element组件库,里面的input组件的用法和常用属性如下: ** 1,type属性:用法跟原生输入框一样,例:type="text",type=&qu ...

最新文章

  1. 理解LoadRunner中的局部变量和全局变量
  2. 保证计算机网络的稳定运行,厦门大学校园网管理保证网络稳定运行
  3. python整形浮点型运算规则
  4. Python可以减少代码量?我不信
  5. 【 全干货 】5 分钟带你看懂 Docker ! 1
  6. 电动汽车冬季悲歌:我不是在充电,就是在充电的路上
  7. python动画精灵_Python游戏开发:pygame中的Sprite(精灵)模块和加载动画
  8. 全国各地 DNS 服务器 IP 总汇
  9. OpenLayers使用symbolizers样式特征
  10. 安装列表阿里云UBUNTU 12下安装LAMP
  11. 20200105每日一句
  12. 修改TIM的默认路径
  13. 系统发育树的美化~Figtree(图文教程)
  14. POSIX和CMSIS接口
  15. stata进行无交互效应模型选择—混合模型,个体效应固定,时间效应固定,双向固定和随机效应
  16. Android加速度传感器测位移,一种校核加速度传感器测位移的方法与流程
  17. 戴尔蓝牙以及其他驱动
  18. 外网访问群晖NAS VMM搭建Openwrt的admin界面
  19. 用python画 pareto front
  20. 简单计算一下,发现炒房一点不划算

热门文章

  1. 一边学计算机一边上班累的说说,上班累了的心情说说_上班的心情说说精选
  2. 计算机弹奏怎么录视频教程,怎么录制视频教程?简单、快捷的方法尝试
  3. Python和二进制(1)
  4. 解决Themida加壳程序在VMware虚拟机无法运行问题_HS_TMD
  5. Android蓝牙初始名称修改(高通平台)
  6. 微信小程序开发拼图小游戏
  7. Android 客户端 okhttp3 与服务器之间的双向验证
  8. 数据库扩容也可以如此丝滑,MySQL千亿级数据生产环境扩容实战
  9. CAD怎么转换版本?两个办法解决
  10. calendar获取本周一的日期_Swift - 获取本周(或指定日期所在周)的第一天、最后一天日期...