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 相关文章推荐
替代window.event.srcElement效果的可兼容性的函数
Dec 18 Javascript
js 文件引入实现代码
Apr 23 Javascript
JS操作Cookies包括(读取添加与删除)
Dec 26 Javascript
js动态生成指定行数的表格
Jul 11 Javascript
Jquery自定义button按钮的几种方法
Jun 11 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
Sep 16 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
Angular2中select用法之设置默认值与事件详解
May 07 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
小程序实现五星点评效果
Nov 03 Javascript
Layui点击图片弹框预览的实现方法
Sep 16 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 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下把数组保存为文件格式的实例应用
2010/02/08 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
js实现时钟定时器
2020/03/26 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
Python读写Redis数据库操作示例
2014/03/18 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
Python通过文本和图片生成词云图
2020/05/21 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
用HTML5实现手机摇一摇的功能的教程
2012/10/30 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
激光脱毛、蓝光和护肤:Tria Beauty
2019/03/28 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
管理站站长岗位职责
2013/11/27 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
医院财务人员岗位职责
2015/04/14 职场文书
公司管理建议书
2015/09/14 职场文书
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫