移动端上拉加载下拉刷新

<template>

<div class="wrapper" ref="wrapper">

<div class="content" >

<div class="refresh" :class="{ativeRefresh:refresh}">刷新</div>

<div class="ct-row" v-for="(item,index) in formData.list" :key="index">

<div class="ct-row-list">{{item.id}}</div>

<div class="ct-row-list">{{item.user}}</div>

<div class="ct-row-list">{{item.des}}</div>

</div>

<div>加载</div>

</div>

</div>

</template>

<script>

import Bscroll from "better-scroll";

import axios from "axios";

import { clearTimeout, setTimeout } from ‘timers‘;

export default {

name: "wrapper",

data() {

return {

formData: {},

refresh:false

};

},

methods: {

getFormDatas() {

return axios.get("api/test/formData", { params: { id: 123456 } })

}

},

created() {

this.getFormDatas().then(res => {

console.log(res.data);

this.formData = res.data;

this.formData.list.length=10;

});

},

mounted() {

let count=1;

this.scroll = new Bscroll(this.$refs.wrapper, {

mouseWheel: true,

click: true,

tap: true,

pullDownRefresh: {

threshold: 60,//下拉60px刷新

stop: 20//上弹到20px处,等待刷新完成

},

pullUpLoad:{

threshold: -20 //往下拉20px处时重新加载

}

});

//下拉刷新

this.scroll.on("pullingDown", () => {

this.refresh=true;

this.getFormDatas().then(res => {

const _this=this;

// const timer=clearTimeout()

setTimeout(()=>{

_this.refresh=false;

_this.formData = res.data;

_this.scroll.finishPullDown()

},500)

});

});

//上拉加载

this.scroll.on(‘pullingUp‘, () => {

const _this=this;

this.getFormDatas().then(res => {

// const timer=clearTimeout()

setTimeout(()=>{

_this.formData = res.data;

_this.formData.length=20;

_this.scroll.finishPullDown()

},500)

});

})

},

destroyed(){

this.scroll=null;

}

};

</script>

<style scoped>

/* wrapper要设置绝对定位 */

.wrapper {

overflow: hidden;

position: absolute;

top: 0.9rem;

left: 0;

right: 0;

bottom: 0;

}

.content {

padding: 0 0.2rem 0 0.2rem;

}

.ct-row::after{

content: "";

height: 2px;

width: 100%;

background: #eee;

display: block;

}

.ct-row-list{

height: .4rem;

line-height: .4rem;

}

.refresh{

display: none;

}

.ativeRefresh{

display: block;

}

</style>

原文地址:https://www.cnblogs.com/wly-laowang/p/11184937.html

时间: 2024-10-13 16:34:33

移动端上拉加载下拉刷新的相关文章

ListView上拉加载下拉刷新

主要用到了这个几个文件,MainActivity是界面的Activity,MyAdapter是ListView的自定义适配,MyListView是自定义带头部LIistView,如果只需要上拉加载就不需要:activity_main.xml是住界面,item.xml是ListView的子布局里面只有一个TextView,listview_footer.xml是listview的加载更多的底部布局,listview_header.xml是listview的头部布局. MainActivity.ja

XML解析及上拉加载下拉刷新

XML解析及上拉加载下拉刷新 1.XML格式 2.GData和XPath遍历 //配置XML库(配置完才能使用) //(1)添加头文件搜索路径 // Header Search Paths-> /usr/include/libxml2 //(2)添加二进制库 // Link library -> lixml2.dylib //(3)源文件添加编译选项 // -fno-objc-arc //(4)添加头文件 // #import "GDataXMLNode.h"*/ XPat

使用dragloader.js插件实现上拉加载/下拉刷新..

在写代码时候有个需求是,在触屏页面,为了加快页面加载速度,案件列表每页展示5条数据: 然后点击更多,展示下一页数据: 但是为了触屏更好的体验,改为往上滑动案件列表,加载下一页数据:就是要实现上拉加载/下拉刷新的效果: 我只用到了 上拉加载: 参考资料:http://blog.csdn.net/xb12369/article/details/39202711 下面是写的demo: html代码: <!DOCTYPE html> <html lang="en"> &

Mint-ui中loadmore(上拉加载下拉刷新)组件在ios中滑动会触发点击事件的解决方法

bug说明: Mint-ui中loadmore(上拉加载下拉刷新)组件 在 使用fastclick的情况下 ,在ios设备中滑动会触发点击事件: 解决方法: 我是按需引入,去项目中找到loadmore下的index.js,全部引入的要找mint下面mint-ui.common.js 路径如下:你的项目名/node_modules\mint-ui\lib\loadmore\index.js 搜索 handleTouchEnd ,记得写event进去 handleTouchEnd: function

微信小程序上拉加载下拉刷新

微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载的动画可能会是白色背景,会看不清. { "usingComponents": { "annicate": "/components/annicate/index" }, "navigationBarTitleText": &quo

zepto.js + iscroll.js上拉加载 下拉加载的 移动端 新闻列表页面

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="viewport" content="width=device-width,initial-scale=1.0

关于移动端手势滑动和上拉加载下拉刷新简单模拟笔记

本人接触前端不久,写的不好的请多多指教,欢迎指出 最近做到一个需求需要实现移动端的手势操作,在网上有找到不少不错的插件(PS:就不打广告了,一搜一大堆) 插件用起来确实不错,不过自己想研究下,便写了一个demo,实现了上拉.下拉触发,及左右手势滑动触发 上拉.下拉触发用了 $(window).scroll()                //当滚动条滚动时触发 scrollTop()(滚动条距离顶部的高度) $(document).height(当前页面的总高度) $(this).height

上拉加载下拉刷新控件WaterRefreshLoadMoreView

效果: 源码: // // SRSlimeView // @author SR // Modified by JunHan on 13-9-18. // #import <UIKit/UIKit.h> #define kStartTo 0.7f #define kEndTo 0.15f #define kAnimationInterval (1.0f / 50.0f) NS_INLINE CGFloat distansBetween(CGPoint p1 , CGPoint p2) { ret

【PullToRefresh 系列一】 Android上拉加载下拉刷新控件详解

转载请注明:http://blog.csdn.net/duguang77/article/details/40921601 作者信息: PullToRefresh控件下载地址:https://github.com/chrisbanes/Android-PullToRefresh 作者:https://github.com/chrisbanes 百度网盘下载地址:http://pan.baidu.com/s/1o6umifw (一)导入方法: 1.下载后将extras,library,sample