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 ajax的success回调函数中实现按钮置灰倒计时
Nov 19 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
JS控件bootstrap suggest plugin使用方法详解
Mar 25 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
Jun 26 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
Aug 30 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
Aug 30 Javascript
koa router 多文件引入的方法示例
May 22 Javascript
微信小程序wxs实现吸顶效果
Jan 08 Javascript
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 Javascript
JavaScript流程控制(分支)
Dec 06 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
我的论坛源代码(一)
2006/10/09 PHP
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP制作万年历
2015/01/07 PHP
php单例模式示例分享
2015/02/12 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
My Desktop :) 桌面式代码
2008/12/29 Javascript
web性能优化之javascript性能调优
2012/12/28 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python插入排序算法实例分析
2015/07/03 Python
python 正确保留多位小数的实例
2018/07/16 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
python多进程使用函数封装实例
2020/05/02 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
电气技术员岗位职责
2013/11/19 职场文书
副总经理工作职责
2013/11/28 职场文书
生物科学系大学生的自我评价
2013/12/20 职场文书
寒假致家长的一封信
2015/10/10 职场文书
导游词之唐山景点
2019/12/18 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技