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遍历input取得input的name
Apr 27 Javascript
Document 对象的常用方法
Jul 31 Javascript
Mootools 1.2教程 设置和获取样式表属性
Sep 15 Javascript
基于JQUERY的多级联动代码
Jan 24 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
jquery实现拖拽调整Div大小
Jan 30 Javascript
JS实现动态生成表格并提交表格数据向后端
Nov 25 Javascript
深入理解jQuery layui分页控件的使用
Aug 17 Javascript
微信小程序动态生成二维码的实现代码
Jul 25 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
vscode 开发Vue项目的方法步骤
Nov 25 Javascript
基于js判断浏览器是否支持webGL
Apr 18 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
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
JQuery实现可直接编辑的表格
2015/04/16 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
angularjs实现简单的购物车功能
2017/09/21 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
介绍Python中的文档测试模块
2015/04/28 Python
浅谈python迭代器
2017/11/08 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
TensorFlow获取加载模型中的全部张量名称代码
2020/02/11 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
python数据抓取3种方法总结
2021/02/07 Python
渗透攻击的测试步骤
2014/06/07 面试题
好的自荐信的要求
2013/10/30 职场文书
法学毕业生自我鉴定
2014/01/31 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
希特勒的演讲稿
2014/05/23 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android