前端vue简单好用的上拉加载下拉刷新组件,支持列表分页 本地分页, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id=12942

效果图如下:

 

 

 

#### 使用方法

```使用方法

<!-- pullDown:下拉刷新 back-top: 回到顶部  -->

<ccPullScroll class="pullScrollView" ref="pullScroll" :back-top="true" :pullDown="pullDown">

</ccPullScroll>

```

#### HTML代码部分

```html

<template>

<view class="content">

<!--  -->

<div class="mui-content-padded">

<!-- pullDown:下拉刷新 back-top: 回到顶部  -->

<ccPullScroll class="pullScrollView" ref="pullScroll" :back-top="true" :pullDown="pullDown">

<!-- 列表组件 -->

<CCBProjectList :productList="projectList" @click="goProDetail"></CCBProjectList>

</ccPullScroll>

</div>

</view>

</template>

```

#### JS代码 (引入组件 填充数据)

```javascript

<script>

import CCBProjectList from '../../components/ccPageView/CCProjectList.vue';

import ccPullScroll from '../../components/ccPullScroll/index.vue'

export default {

components: {

CCBProjectList,

ccPullScroll

},

data() {

return {

// 列表总数量

totalNum: 60,

//  页码 默认1开始

curPageNum: 1,

// 列表数组

projectList: []

}

},

mounted() {

// 页面刷新方法 会自动调用pulldown一次

this.pageRefresh();

},

methods: {

pageRefresh() {

let myThis = this;

this.$nextTick(() => {

myThis.$refs.pullScroll.refresh();

});

},

pullDown(pullScroll) {

console.log('下拉刷新');

this.projectList = [];

this.curPageNum = 1;

setTimeout(() => {

this.requestData(pullScroll);

}, 300);

},

// 上拉加载

onReachBottom() {

// 数据全部加载完

if (this.curPageNum * 10 >= this.totalNum) {

} else {

this.curPageNum++;

this.requestData();

}

},

// 列表条目点击事件

goProDetail(item) {

},

requestData() {

// 模拟请求参数设置

let reqData = {

'area': '',

"pageSize": 10,

"pageNo": this.curPageNum

}

let myThis = this;

setTimeout(function() {

// 模拟请求接口

for (let i = 0; i < 10; i++) {

myThis.projectList.push({

'proName': '产品名称' + i,

'proUnit': '公司名称' + i,

'area': '广东省',

'proType': '省级项目',

'stage': '已开工',

'id': 10 * (myThis.curPageNum + i) + myThis.curPageNum + ''

});

}

// 列表总数量

myThis.totalNum = 60;

// 如果是最后一页

if (myThis.curPageNum * 10 >= myThis.totalNum) {

myThis.$refs.pullScroll.finish();

} else {

// 不是最后一页

myThis.$refs.pullScroll.success();

}

}, 600);

}

}

}

</script>

```

#### CSS

```css

<style>

page {

}

.content {

display: flex;

flex-direction: column;

}

.mui-content-padded {

margin: 0px 14px;

/* */

}

.pullScrollView {

display: flex;

flex-direction: column;

}

</style>

```

前端vue简单好用的上拉加载下拉刷新组件,支持列表分页 本地分页的更多相关文章

  1. Vue mint ui用在消息页面上拉加载下拉刷新loadmore 标记

    之前总结过一个页面存在多个下拉加载的处理方式,今天再来说一下在消息页面的上拉加载和下拉刷新,基本上每个app都会有消息页面,会遇到这个需求 需求:每次加载十条数据,上拉加载下拉刷新,并且没有点击查看过 ...

  2. 上拉加载下拉刷新控件WaterRefreshLoadMoreView

    上拉加载下拉刷新控件WaterRefreshLoadMoreView 效果: 源码: // // SRSlimeView // @author SR // Modified by JunHan on ...

  3. RecyclerView 上拉加载下拉刷新

    RecyclerView 上拉加载下拉刷新 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/teach_s ...

  4. APICloud上啦加载下拉刷新模块

    apicloud有自带的上啦加载下拉刷新,当让也可以用第三方或者在模块库里面找一个使用 一.下拉刷新,一下代码写在 apiready = function (){} 里面 apiready = fun ...

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

    微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载 ...

  6. mui scroll和上拉加载/下拉刷新

    mui中 scroll和上拉加载/下拉刷新同时存在会出现两个滚动条 把/*   */ /* //mui页面鼠标拖动代码: mui('.mui-scroll-wrapper').scroll({ dec ...

  7. js上拉加载下拉刷新

    写在前边: 工作需要,使用ajax在原来的列表下边使用ajax请求后台数据,拼接在列表最下边,在github转了好久,发现了一个bug极多的js刷新插件,尝试了一个下午,就在快放弃的时候,发现下边有留 ...

  8. SwipeRefreshLayout实现上拉加载下拉刷新

    package com.example.swiperefreshlayoutdemo; import java.util.ArrayList;import java.util.HashMap; imp ...

  9. Flutter上拉加载下拉刷新---flutter_easyrefresh

    前言 Flutter默认不支持上拉加载,下拉刷新也仅仅支持Material的一种样式.Android开发使用过SmartRefreshLayout的小伙伴都知道这是一个强大的刷新UI库,集成了很多出色 ...

  10. 基于better-scroll封装一个上拉加载下拉刷新组件

    1.起因 上拉加载和下拉刷新在移动端项目中是很常见的需求,遂自己便基于better-scroll封装了一个下拉刷新上拉加载组件. 2.过程 better-scroll是目前比较好用的开源滚动库,提供很 ...

随机推荐

  1. 分享一个修改了xml文件再也不用重启的项目mybatis-xmlreload

    自我18年使用 Mybaits 以来,开发环境中如果修改了 xml 文件后,只有重启项目才能生效,如果小项目重启还好,但是对于一个重启需要十几分钟的大型项目来说,这就非常耗时了.开发人员因为修改了xm ...

  2. SimpleAdmin手摸手教学之:项目架构设计2.0

    一.说明 在SimpleAdmin1.0版本中,我将整体项目结构分为三大块,分别为架构核心.业务模块和应用服务.随着1.0版本的封版,回去再看我之前的项目架构,也暴露了一些问题,比如在1.0版本中,S ...

  3. PVE Cloud-INIT 模板配置

    PVE Cloud-INIT 模板配置 Cloud-init是什么 Cloud-init是开源的云初始化程序,能够对新创建弹性云服务器中指定的自定义信息(主机名.密钥和用户数据等)进行初始化配置.通过 ...

  4. mysql运维------分库分表

    1. 介绍 问题分析: 随着互联网以及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在以下性能瓶颈: IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率 ...

  5. 明修"栈"道——越过Android启动栈陷阱

    作者:vivo 互联网大前端团队- Zhao Kaiping 本文从一例业务中遇到的问题出发,以FLAG_ACTIVITY_NEW_TASK这一flag作为切入点,带大家探究Activity启动前的一 ...

  6. 从源码角度深入解析Callable接口

    摘要:从源码角度深入解析Callable接口,希望大家踏下心来,打开你的IDE,跟着文章看源码,相信你一定收获不小. 本文分享自华为云社区<一个Callable接口能有多少知识点?>,作者 ...

  7. selenium部分知识点总结

    selenium部分总结 最近写了一个selenium自动化脚本. 基于此总结一些常用的代码 1. 用户输入换行符不终止输入 strings = '' s = input('请输入:(q停止输入)') ...

  8. 深度相机:结构光、TOF、双目相机

    随着人工智能与机器人.无人驾驶的火热,深度相机的技术和应用也受到关注,何谓深度相机? 顾名思义,就是可以测量物体到相机的距离(深度) 传统的RGB彩色普通相机称为2D相机,只能拍摄相机视角内的物体,没 ...

  9. 【H5】Emmet 指令 HTML

    Emmet操作指南 HTML篇 生成带有内容的标签 标签名{内容}可以生成带有内容的标签 div{abc} <div>abc</div> 生成带有属性的标签 生成带有class ...

  10. 【Visual Leak Detector】核心源码剖析(VLD 2.5.1)

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记.本篇对 VLD 2.5.1 源码做内存泄漏检测的思路进行剖析.同系列文章目录可见 <内存泄漏检测工具>目录 目录 说明 1. ...