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 相关文章推荐
javascript中删除指定数组中指定的元素的代码
Feb 12 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
jQuery中get和post方法传值测试及注意事项
Aug 08 Javascript
jquery用offset()方法获得元素的xy坐标
Sep 06 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
Jun 21 Javascript
AngularJS入门教程之MVC架构实例分析
Nov 01 Javascript
JavaScript简单生成 N~M 之间随机数的方法
Jan 13 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
Jan 16 Javascript
JavaScript运动框架 多值运动(四)
May 18 Javascript
javascript数据类型中的一些小知识点(推荐)
Apr 18 Javascript
JS如何寻找数组中心索引过程解析
Jun 01 Javascript
js+cavans实现图片滑块验证
Sep 29 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
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
通过javascript设置css属性的代码
2009/12/28 Javascript
JavaScript 学习笔记(五)
2009/12/31 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
深入理解JavaScript继承的多种方式和优缺点
2017/05/12 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
Python实现Linux命令xxd -i功能
2016/03/06 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
Python根据文件名批量转移图片的方法
2018/10/21 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
Flask中endpoint的理解(小结)
2019/12/11 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
见习期自我鉴定
2013/11/07 职场文书
企业内控岗位的职责
2014/02/07 职场文书
小学安全汇报材料
2014/08/14 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
高中校园广播稿
2014/10/21 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
2016年精神文明建设先进个人事迹材料
2016/02/29 职场文书
mysql的数据压缩性能对比详情
2021/11/07 MySQL
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技