vue-mugen-scroll组件实现pc端滚动刷新


Posted in Javascript onAugust 16, 2019

由于工作的原因,现在需要实现一个滚动加载(PC端)的效果,之前使用的是vue+element,但是element没有类似的组件,所以去github上找了一个名叫vue-mugen-scroll,使用起来很简单也很方便,所以给大家分享一下如果使用。

一、准备工作

首先需要安装一下组件: 

npm install --save vue-mugen-scroll

不需要全局引用,在需要的地方引用即可:

import MugenScroll from "vue-mugen-scroll";
export default {
 components: { MugenScroll }
};

二、编码

直接上代码

<template>
 <section>
 <div id="user-table" ref="user-table">
  <div>
  <el-table :data="tableDate" border style="width: 100%">
   <el-table-column prop="name" label="用户姓名"></el-table-column>
  </el-table>
  </div>
  <mugen-scroll :handler="loadMore" :should-handle="!loading" scroll-container="user-table">
  </mugen-scroll>
 </div>
 </section>
</template>
 
<script>
import MugenScroll from "vue-mugen-scroll";
export default {
 name: "app",
 components: { MugenScroll },
 data() {
 return {
  // 加载状态
  loading: false,
  // 当前页数
  page: 1,
  // 总页数
  pageTotal: 3,
  pagesize: 10,
  // 模拟后端返回的数据
  datas: [
  { id: "1", name: "用户1" },
  { id: "2", name: "用户2" },
  { id: "3", name: "用户3" },
  { id: "4", name: "用户4" },
  { id: "5", name: "用户5" },
  { id: "6", name: "用户6" },
  { id: "7", name: "用户7" },
  { id: "8", name: "用户8" },
  { id: "9", name: "用户9" },
  { id: "10", name: "用户10" },
  { id: "11", name: "用户11" },
  { id: "12", name: "用户12" },
  { id: "13", name: "用户13" },
  { id: "14", name: "用户14" },
  { id: "15", name: "用户15" },
  { id: "16", name: "用户16" },
  { id: "17", name: "用户17" },
  { id: "18", name: "用户18" },
  { id: "19", name: "用户19" },
  { id: "20", name: "用户20" },
  { id: "21", name: "用户21" },
  { id: "22", name: "用户22" },
  { id: "23", name: "用户23" },
  { id: "24", name: "用户24" },
  { id: "25", name: "用户25" },
  { id: "26", name: "用户26" },
  { id: "27", name: "用户27" }
  ],
  // 列表中的数据
  tableDate: []
 };
 },
 methods: {
 // 加载更多
 loadMore() {
  // 是否当前page不是最后一页
  if (this.page <= this.pageTotal) {
  console.log("loadMore...");
  this.loading = true;
  // 模拟分页查询
  let startIndex = (this.page - 1) * this.pagesize;
  let endIndex = startIndex + this.pagesize;
  this.tableDate.push(...this.datas.slice(startIndex, endIndex));
  // 页码+1
  this.page++;
  console.log(this.tableDate);
  this.loading = false;
  }
 }
 }
};
</script>
<style scoped>
#user-table {
 width: 400px;
 height: 400px;
 overflow-y: scroll;
 margin: 100px auto;
}
</style>

说明一下,这里最主要的就是<mugen-scroll>这个标签,should-handle属性就是是否需要执行加载方法,handler就是加载的具体方法,scroll-container就是指向的元素的ref,需要注意的是,需要滚动加载的元素,如#user-table,需要设置它的具体高度,而且要设置滚动条,就像我在<style>写到的,不然没有效果。

三、效果图

初始效果

vue-mugen-scroll组件实现pc端滚动刷新

滚动后的效果

vue-mugen-scroll组件实现pc端滚动刷新

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery优缺点分析说明
Apr 10 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
jQuery队列操作方法实例
Jun 11 Javascript
weUI应用之JS常用信息提示弹层的封装
Nov 21 Javascript
d3.js实现立体柱图的方法详解
Apr 28 Javascript
详解react-native-fs插件的使用以及遇到的坑
Sep 12 Javascript
微信小程序之多文件下载的简单封装示例
Jan 29 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
vue+高德地图写地图选址组件的方法
May 18 Javascript
弱类型语言javascript中 a,b 的运算实例小结
Aug 07 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 Javascript
JavaScript的查询机制LHS和RHS解析
Aug 16 #Javascript
jquery树形插件zTree高级使用详解
Aug 16 #jQuery
微信小程序云开发如何实现数据库自动备份实现
Aug 16 #Javascript
jQuery zTree树插件的使用教程
Aug 16 #jQuery
Vue 权限控制的两种方法(路由验证)
Aug 16 #Javascript
JS中的算法与数据结构之列表(List)实例详解
Aug 16 #Javascript
jQuery zTree插件快速实现目录树
Aug 16 #jQuery
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
PHP自动更新新闻DIY
2006/10/09 PHP
PHP下对数组进行排序的函数
2010/08/08 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
vue2.0使用Sortable.js实现的拖拽功能示例
2017/02/21 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
python实现排序算法
2014/02/14 Python
python静态方法实例
2015/01/14 Python
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
Python 实现链表实例代码
2017/04/07 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python 自动批量打开网页的示例
2019/02/21 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python定义一个函数的方法
2020/06/15 Python
解决Python安装cryptography报错问题
2020/09/03 Python
python绘制趋势图的示例
2020/09/17 Python
介绍一下Linux中的链接
2016/06/05 面试题
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
九州传奇上机题
2014/07/10 面试题
材料专业毕业生求职信
2014/02/26 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
博士论文答辩开场白
2015/06/01 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫