vue 使用mint-ui实现上拉加载和下拉刷新
解决了官网中下拉刷新存在的问题
<template>
<div class="tmpl">
<nav-bar title="商品列表"></nav-bar>
<div class="main-body" ref="wrapper" :style="{ height: (wrapperHeight-50) + 'px' }">
<mt-loadmore :top-method="loadTop" :bottom-method="loadBottom" :bottom-all-loaded="allLoaded" ref="loadmore" :autoFill="isAutoFill">
<ul class="mui-table-view mui-grid-view">
<li v-for="(item,index) in datas" :key="index" class="mui-table-view-cell mui-media mui-col-xs-6">
<a>
<img class="mui-media-object" v-lazy="item.img">
<div class="mui-media-body" v-text="item.title"></div>
</a>
</li>
</ul>
</mt-loadmore>
</div>
</div>
</template> <script>
export default {
name: "goodslist",
data() {
return {
datas: [],
//可以进行上拉
allLoaded: false,
//是否自动触发上拉函数
isAutoFill: false,
wrapperHeight: 0,
courrentPage: 0
};
},
created() {
this.loadFrist();
},
mounted() {
// 父控件要加上高度,否则会出现上拉不动的情况
this.wrapperHeight =
document.documentElement.clientHeight -
this.$refs.wrapper.getBoundingClientRect().top;
},
methods: {
// 下拉刷新
loadTop() {
this.loadFrist();
},
// 上拉加载
loadBottom() {
this.loadMore();
},
// 下来刷新加载
loadFrist() {
this.$axios
.get("goodslist1.json")
.then(response => {
this.courrentPage = 0;
this.allLoaded = false; // 可以进行上拉
this.datas = response.data.message;
this.$refs.loadmore.onTopLoaded();
})
.catch(error => {
console.log(error);
alert("网络错误,不能访问");
});
},
// 加载更多
loadMore() {
this.$axios
.get("goodslist.json")
.then(response => {
// concat数组的追加
this.datas = this.datas.concat(response.data.message);
if (this.courrentPage > 2) {
this.allLoaded = true; // 若数据已全部获取完毕
}
this.courrentPage++;
this.$refs.loadmore.onBottomLoaded();
})
.catch(error => {
console.log(error);
alert("网络错误,不能访问");
});
}
}
};
</script> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.main-body {
/* 加上这个才会有当数据充满整个屏幕,可以进行上拉加载更多的操作 */
overflow: scroll;
}
</style>
vue 使用mint-ui实现上拉加载和下拉刷新的更多相关文章
- vue使用vant-ui实现上拉加载、下拉刷新和返回顶部
		vue使用vant-ui实现上拉加载.下拉刷新和返回顶部 vue现在在移动端常用的ui库有vant-ui和mint-ui,上拉加载.下拉刷新和返回顶部也是移动端最基础最常见的功能.下面就用vant-u ... 
- vue.js移动端app实战4:上拉加载以及下拉刷新
		上拉加载以及下拉刷新都是移动端很常见的功能,在搜索或者一些分类列表页面常常会用到. 跟横向滚动一样,我们还是采用better-scroll这个库来实现.由于better已经更新了新的版本,之前是0.几 ... 
- vue-scroller实现vue单页面的上拉加载和下拉刷新问题
		在vue中如何简单的实现页面的上拉加载和下拉刷新,在这里我推荐使用vue-scrolle插件. vue-scrolle的基本使用方法: 1.下载 npm i vue-scroller -D 2.导包 ... 
- Vue-上拉加载与下拉刷新(mint-ui:loadmore)一个页面使用多个上拉加载后冲突问题
		所遇问题: 该页面为双选项卡联动,四个部分都需要上拉加载和下拉刷新功能,使用的mint-ui的loadmore插件,分别加上上拉加载后,只有最后一个的this.$refs.loadmore.onTop ... 
- 全网最easy的better-scroll实现上拉加载和下拉刷新
		前言 移动端页面常见的一种效果:下拉刷新(pulldownrefresh)和上拉加载(pullupload),目的都是为了增强用户的体验效果,因此各种移动端滑动插件也是层出不穷,今天小编也在这里给大家 ... 
- vue项目中上拉加载和下拉刷新页面的实现
		功能:上拉加载,下拉刷新 使用方法: 自己创建一个.vue的文件(我自己是创建了一个PullToRefresh.vue的文件),将代码粘贴进去,具体的样式问题自己在该文件中调整. <templa ... 
- UITableView与UISearchController搜索及上拉加载,下拉刷新
		#import "ViewController.h" #import "TuanGouModel.h" #import "TuanGouTableVi ... 
- 移动端上拉加载,下拉刷新效果Demo
		<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- 使用mescroll实现上拉加载与下拉刷新
		现在上拉加载与下拉刷新几乎已经是移动端必备功能之一了,自己实现一个太麻烦,但是好用的插件又非常少.之前看到网上很多人都在用iScroll,于是也尝试用它做了几个DEMO,但或多或少都有一些问题,比如这 ... 
- C#构造方法(函数)   C#方法重载   C#字段和属性  MUI实现上拉加载和下拉刷新  SVN常用功能介绍(二)  SVN常用功能介绍(一)  ASP.NET常用内置对象之——Server  sql server——子查询   C#接口  字符串的本质  AJAX原生JavaScript写法
		C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ... 
随机推荐
- JNI 记
			Java Native Interface(JNI)从零开始详细教程 ================================================================ ... 
- Linux 第十天
			十三.权限管理 1.ACL权限开启 1)dumpe2fs -h /dev/sda3查看分区ACL权限是否开启 -h:仅显示超级块中信息,而不显示磁盘块组的详细信息 2)mount -o remount ... 
- 关于CSS布局
			是时候单独列出一篇文章记录CSS布局了. http://www.imooc.com/article/2235 [史上最全Html和CSS布局技巧] 
- Ubuntu 14.04 LTS 初装成
			原先博客放弃使用,几篇文章搬运过来 Windows 7下使用win32diskimager 制作启动盘,安装Ubuntu OS安装完成后,安装DrclientLinux. 安装搜狗输入法 Linux下 ... 
- 第一个Python小爬虫
			这个爬虫是参考http://python.jobbole.com/81353/这篇文章写的 这篇文章可能年代过于久远,所以有些代码会报错,然后我自己稍微修改了一下,增加了一个getContentAll ... 
- 国网电表dlt645-2007抄表软件
			这个支持公网抄表 在以前局域网的基础上做了修正 使用起来更加便利了 
- 运行第一个Python程序
			Python的三种运行方式 交互式解释器 在终端输入python3 进入python交互式解释器 输入exit()退出交互式解释器 命令行脚本 创建python脚本 通过命令执行程序 python h ... 
- python持久化
			将对象转为二进制字节流(pickle) import pickle my_list = [1,2,3] pickle_file = open('my_list.pkl', 'wb') #注意二进制写入 ... 
- shell 命令 if elif else fi 用法
			#! /bin/bash if Iam; then echo "it worked two" else ls echo "I am in the else" f ... 
- 18个分形图形的GIF动画演示
			这里提供18个几何线段分形的GIF动画图像.图形颜色是白色,背景色为黑色,使用最基本的黑与白以表现分形图形. (1)科赫(Koch)雪花 (2)列维(levy)曲线 (3)龙形曲线(Drago ... 
