iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >微信小程序如何实现下拉加载与上拉刷新功能
  • 314
分享到

微信小程序如何实现下拉加载与上拉刷新功能

2024-04-02 19:04:59 314人浏览 独家记忆
摘要

这篇文章主要介绍微信小程序如何实现下拉加载与上拉刷新功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序下拉刷新上拉加载的两种实现方法实现效果图:方法一:onPullDown

这篇文章主要介绍微信小程序如何实现下拉加载与上拉刷新功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

微信小程序下拉刷新上拉加载的两种实现方法

实现效果图:

微信小程序如何实现下拉加载与上拉刷新功能

方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新

首先要在JSON文件里设置window属性

            属性  类型                          描述
enablePullDownRefreshBoolean是否开启下拉刷新,详见页面相关事件处理函数。

设置js里onPullDownRefresh和onReachBottom方法

    属性   类型         描述
onPullDownRefreshfunction页面相关事件处理函数——监听用户下拉动作
onReachBottomfunction页面上拉触发底事件的处理函数

下拉加载说明:

当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新。

onPullDownRefresh(){
  console.log('--------下拉刷新-------')
  wx.showNavigationBarLoading() //在标题栏中显示加载
 
  wx.request({
     url: 'https://URL',
     data: {},
     method: 'GET',
     // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
     // header: {}, // 设置请求的 header
     success: function(res){
      // success
     },
     fail: function() {
      // fail
     },
     complete: function() {
      // complete
      wx.hideNavigationBarLoading() //完成停止加载
      wx.stopPullDownRefresh() //停止下拉刷新
     }
  })

方法二:

在scroll-view里设定bindscrolltoupper和bindscrolltolower实现微信小程序下拉

    属性   类型         描述
bindscrolltoupperEventHandle滚动到顶部/左边,会触发 scrolltoupper 事件
bindscrolltolowerEventHandle

滚动到底部/右边,会触发 scrolltolower 事件

index.wxml

<!--index.wxml-->
<view class="container" >
 <!--垂直滚动,这里必须设置高度-->
  <scroll-view scroll-top="{{scrollTop}}" scroll-y="true"  
    class="list" bindscrolltolower="bindDownLoad" bindscrolltoupper="topLoad" bindscroll="scroll">
    <view class="item" wx:for="{{list}}">
      <image class="img" src="{{item.pic_url}}"></image>
      <view class="text">
        <text class="title">{{item.name}}</text>
        <text class="description">{{item.short_description}}</text>
      </view>
    </view>
  </scroll-view>
  <view class="body-view">
    <loading hidden="{{hidden}}" bindchange="loadinGChange">
      加载中...
    </loading>
  </view>
</view>

index.js

var url = "Http://www.imooc.com/course/ajaxlist";
var page =0;
var page_size = 5;
var sort = "last";
var is_easy = 0;
var lange_id = 0;
var pos_id = 0;
var unlearn = 0;


// 请求数据
var loadMore = function(that){
  that.setData({
    hidden:false
  });
  wx.request({
    url:url,
    data:{
      page : page,
      page_size : page_size,
      sort : sort,
      is_easy : is_easy,
      lange_id : lange_id,
      pos_id : pos_id,
      unlearn : unlearn
    },
    success:function(res){
      //console.info(that.data.list);
      var list = that.data.list;
      for(var i = 0; i < res.data.list.length; i++){
        list.push(res.data.list[i]);
      }
      that.setData({
        list : list
      });
      page ++;
      that.setData({
        hidden:true
      });
    }
  });
}
Page({
 data:{
  hidden:true,
  list:[],
  scrollTop : 0,
  scrollHeight:0
 },
 onLoad:function(){
  //  这里要注意,微信的scroll-view必须要设置高度才能监听滚动事件,所以,需要在页面的onLoad事件中给scroll-view的高度赋值
   var that = this;
   wx.getSystemInfo({
     success:function(res){
       that.setData({
         scrollHeight:res.windowHeight
       });
     }
   });
    loadMore(that);
 },
 //页面滑动到底部
 bindDownLoad:function(){  
   var that = this;
   loadMore(that);
   console.log("lower");
 },
 scroll:function(event){
  //该方法绑定了页面滚动时的事件,我这里记录了当前的position.y的值,为了请求数据之后把页面定位到这里来。
   this.setData({
     scrollTop : event.detail.scrollTop
   });
 },
 topLoad:function(event){
  //  该方法绑定了页面滑动到顶部的事件,然后做上拉刷新
   page = 0;
   this.setData({
     list : [],
     scrollTop : 0
   });
   loadMore(this);
   console.log("lower");
 }
})

index.wxss



.userinfo {
 display: flex;
 flex-direction: column;
 align-items: center;
}

.userinfo-avatar {
 width: 128rpx;
 height: 128rpx;
 margin: 20rpx;
 border-radius: 50%;
}

.userinfo-nickname {
 color: #aaa;
}

.usermotto {
 margin-top: 200px;
}



scroll-view {
 width: 100%;
}

.item {
 width: 90%;
 height: 300rpx;
 margin: 20rpx auto;
 background: brown;
 overflow: hidden;
}

.item .img {
 width: 430rpx;
 margin-right: 20rpx;
 float: left;
}

.title {
 font-size: 30rpx;
 display: block;
 margin: 30rpx auto;
}

.description {
 font-size: 26rpx;
 line-height: 15rpx;
}

以上是“微信小程序如何实现下拉加载与上拉刷新功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: 微信小程序如何实现下拉加载与上拉刷新功能

本文链接: https://www.lsjlt.com/news/70114.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序如何实现下拉加载与上拉刷新功能
    这篇文章主要介绍微信小程序如何实现下拉加载与上拉刷新功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序下拉刷新上拉加载的两种实现方法实现效果图:方法一:onPullDown...
    99+
    2022-10-19
  • 微信小程序如何实现列表上拉加载下拉刷新功能
    这篇文章给大家分享的是有关微信小程序如何实现列表上拉加载下拉刷新功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.列表(本部分内容出入官方文档)对于这个功能,微信小程序中并没...
    99+
    2022-10-19
  • 微信小程序如何实现上滑加载下拉刷新
    这篇文章给大家分享的是有关微信小程序如何实现上滑加载下拉刷新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。页面缓存的设置优化了页面加载,减少了频繁的调取接口,使用户在断网的情况下...
    99+
    2022-10-19
  • 小程序怎么实现上拉刷新下拉加载
    这篇文章主要介绍“小程序怎么实现上拉刷新下拉加载”,在日常操作中,相信很多人在小程序怎么实现上拉刷新下拉加载问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么实现上拉刷新下拉加载”的疑惑有所帮助!接下来...
    99+
    2023-06-26
  • MUI如何实现上拉刷新/下拉加载功能
    小编给大家分享一下MUI如何实现上拉刷新/下拉加载功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新闻信息列表必备的功能,支持...
    99+
    2022-10-19
  • 微信小程序中scroll-view实现上拉加载与下拉刷新的示例分析
    这篇文章主要为大家展示了“微信小程序中scroll-view实现上拉加载与下拉刷新的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序中scrol...
    99+
    2022-10-19
  • 实现微信小程序中的下拉刷新功能
    在微信小程序中,可以通过在 scroll-view 组件上添加 enablePullDownRefresh 属性来启用下拉刷新功能。同时需要在页面的 .json 文件中设置 background...
    99+
    2023-09-04
    微信小程序 javascript 小程序 前端 vue.js
  • 微信小程序中下拉刷新及上拉加载的示例分析
    小编给大家分享一下微信小程序中下拉刷新及上拉加载的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.下拉刷新的概念及应用...
    99+
    2022-10-19
  • 微信小程序中如何实现刷新上拉下拉不会断
    这篇文章将为大家详细讲解有关微信小程序中如何实现刷新上拉下拉不会断,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 上拉下拉不会断详细介绍最开始看到效果图,不错,...
    99+
    2022-10-19
  • 微信小程序如何实现上拉、下拉菜单功能
    这篇文章给大家分享的是有关微信小程序如何实现上拉、下拉菜单功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解决方案上下拉菜单在微信小程序中起提示、选项的功能,当点击它时会弹出属...
    99+
    2022-10-19
  • 微信小程序如何实现下拉刷新和上拉分页效果
    这篇文章主要介绍“微信小程序如何实现下拉刷新和上拉分页效果”,在日常操作中,相信很多人在微信小程序如何实现下拉刷新和上拉分页效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序如何实现下拉刷新和上拉分...
    99+
    2023-06-30
  • uniapp怎么实现下拉刷新和上拉加载功能
    随着移动端开发的不断升级,开发者们对于移动应用的需求也越来越高。而在很多移动应用中,下拉刷新和上拉加载更多是必不可少的功能之一,为了提高用户体验,许多移动应用都会加入这两个功能。在这里,我们将介绍如何在uniapp中实现下拉刷新和上拉加载更...
    99+
    2023-05-14
  • Flutter listview如何实现下拉刷新上拉加载更多功能
    目录下拉刷新 RefreshIndicator 上拉加载更多 总结:下拉刷新 在Flutter中系统已经为我们提供了google material design的刷新功能 , 样式...
    99+
    2022-11-12
  • Android如何通过XListView实现上拉加载下拉刷新功能
    小编给大家分享一下Android如何通过XListView实现上拉加载下拉刷新功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下## 导入XListVIew第三方库文件。通过LinkedList将刷新...
    99+
    2023-05-30
  • 微信小程序实现下拉刷新效果
    微信小程序实现下拉刷新效果微信小程序作为一种轻量级的移动应用开发平台,近年来在移动应用行业得到了广泛的应用和发展。下拉刷新是常见的交互效果,可以在列表页面中,当用户下拉页面时自动刷新内容,提升用户体验和数据的及时更新。本文将介绍如何在微信小...
    99+
    2023-11-21
    微信小程序 实现 下拉刷新
  • 微信小程序下拉刷新如何做
    这篇文章主要介绍了微信小程序下拉刷新如何做的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序下拉刷新如何做文章都会有所收获,下面我们一起来看看吧。onPullDownRefresh在 Page 中定义 o...
    99+
    2023-06-26
  • 微信小程序实现触底加载与下拉刷新的示例代码
    目录触底加载loader函数思考loader函数实现触底加载动画触底加载的优点下拉刷新最后在最近做小程序的时候有这么一个很常见的需求,加载一个信息列表,要求需要触底加载和下拉刷新,我...
    99+
    2022-11-13
  • Android ListView实现上拉加载更多和下拉刷新功能
    本文实例为大家介绍了Android ListView下拉刷新功能的实现方法和功能,供大家参考,具体内容如下 1、ListView优化方式 界面缓存:ViewHolder+con...
    99+
    2022-06-06
    listview Android
  • Vue uni-app框架实现上拉加载下拉刷新功能
    目录实现上拉加载更多优化实现下拉刷新实现上拉加载更多 打开项目根目录中的pages.json配置文件,为subPackages分包中的商品goods_list页面配置上拉触底的距离:...
    99+
    2022-11-13
  • Vue vant-ui框架实现上拉加载下拉刷新功能
    目录知识点速记基本用法下拉刷新代码实现1.页面布局2.样式3.方法下拉刷新效果: 知识点速记 基本用法 List通过loading和finished两个变量控制加载状态,当组件滚动...
    99+
    2022-11-13
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作