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简单实现模拟浏览器搜索功能
Dec 21 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 Javascript
浅析$(function) ready和onload 的区别
Sep 03 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
Vue常用指令V-model用法
Mar 08 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
node中IO以及定时器优先级详解
May 10 Javascript
微信小程序select下拉框实现源码
Nov 08 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 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
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
pyqt5简介及安装方法介绍
2018/01/31 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
广州某公司软件工程师面试题
2014/12/22 面试题
操行评语大全
2014/04/30 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
用电申请报告范文
2015/05/18 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
DSP接收机前端设想
2022/04/05 无线电
vue封装数字翻牌器
2022/04/20 Vue.js