前端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. ​k8s 1.24 1.25 集群使用docker作为容器

    Kubernetes 1.24 1.25 集群使用docker作为容器 背景 在新版本Kubernetes环境(1.24以及以上版本)下官方不在支持docker作为容器运行时了,若要继续使用docke ...

  2. python之re详解

    import re# .匹配任何一个字符,除了换行#[]匹配里面任意一个字符# \d匹配一个数字0-9# \D匹配不是一个数字# \s 匹配一个空格和tab# \S 匹配非空格和tab一个字符# \w ...

  3. 【Note】倍增

    真的不会.QAQ 目录 简介 大家都见过的应用:倍增求 \(\text{LCA}\) 倍增求 \(\text{LCA}\) ,但是动态加点,但是不会 \(lct\) 例题:[ZJOI2012]灾难(D ...

  4. Kubernetes客户端认证——基于CA证书的双向认证方式

    1.Kubernetes 认证方式 Kubernetes集群的访问权限控制由API Server负责,API Server的访问权限控制由身份验证(Authentication).授权(Authori ...

  5. SQL concat_ws, collect_set, 和explode合并使用

    1. 背景 有一个这样的数据集:字段和字段的值是两列 目的是将这个数据转换成规整的一个特征是一列的数据: 2. 做法 第一步:先造出列 select ucid ,CASE WHEN type ='性别 ...

  6. php7的一些新特性

    php7的一些特性 打破一切 PHP7要打破一切. PHP开发人员应该接受打破版本之间向下兼容的定律.只要不允许大量的向后兼容,PHP7将是一个高度尊重的语言. 1.创建一个具体的核心语言 删除所有库 ...

  7. nlp数据预处理:词库、词典与语料库

    在nlp的数据预处理中,我们通常需要根据原始数据集做出如题目所示的三种结构.但是新手(我自己)常常会感到混乱,因此特意整理一下 1.词库 词库是最先需要处理出的数据形式,即将原数据集按空格分词或者使用 ...

  8. RTSP Server(LIVE555)源码分析(三)-DESCRIBE信令

    主要分析RTSPServer::RTSPClientSession针对客户端DECCRIBE信令处理. 一.回调函数incomingRequestHandler分析 回顾一下rtsp客户端sessio ...

  9. SpringBoot SpringSecurity 介绍(基于内存的验证)

    SpringBoot 集成 SpringSecurity + MySQL + JWT 附源码,废话不多直接盘 SpringBoot已经为用户采用默认配置,只需要引入pom依赖就能快速启动Spring ...

  10. Python 项目:外星人入侵----第一部分

    外星人入侵 1.规划项目 玩家控制着一艘最初出现在屏幕底部中央的飞船,玩家可以使用箭头键左右移动飞船,还可以使用空格键进行射击,游戏开始时,一群外星人出现在天空中,他们在屏幕中下移动.玩家任务是射杀这 ...