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权威指南 学习笔记之null和undefined
Sep 25 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 Javascript
当鼠标移动时出现特效的JQuery代码
Nov 08 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
javaScript中push函数用法实例分析
Jun 08 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
Oct 23 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
Jan 01 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
May 30 Javascript
基于vue实现swipe轮播组件实例代码
May 24 Javascript
Nuxt.js SSR与权限验证的实现
Nov 21 Javascript
深入了解JavaScript 防抖和节流
Sep 12 Javascript
简述Vue中容易被忽视的知识点
Dec 09 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的header和asp中的redirect比较
2006/10/09 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python生成随机密码
2015/03/10 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python3.8下载及安装步骤详解
2020/01/15 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
品质管理部岗位职责范文
2014/03/01 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
工程售后服务承诺书
2014/05/21 职场文书
幼儿教师个人总结
2015/02/05 职场文书
中秋节主题班会
2015/08/14 职场文书