微信小程序列表的上拉刷新和上拉加载
分类:小程序源码查看:2311628下载:113
##1.介绍几个组件


1.1 scroll-view 组件

这里写图片描述

注意:使用竖向滚动时,需要给一个固定高度,通过 WXSS 设置 height。
1.2 image组件

这里写图片描述

注意:mode有12种模式,其中3种是缩放模式,9种是裁剪模式。
1.3 Icon组件 这里写图片描述

iconType: [ 'success', 'info', 'warn', 'waiting', 'safe_success', 'safe_warn', 'success_circle', 'success_no_circle', 'waiting_circle', 'circle', 'download', 'info_circle', 'cancel', 'search', 'clear' ]

2.列表的上拉加载和下拉刷新的实现

##2.1先来张效果图 这里写图片描述 ##2.2逻辑很简单,直接上代码
2.2.1 detail.wxml 布局文件

<loading hidden="{{hidden}}" bindchange="loadingChange">
    加载中...
  </loading>  
 <scroll-view scroll-y="true" style="height: 100%;" bindscrolltolower="loadMore" bindscrolltoupper="refesh">
      <view wx:if="{{hasRefesh}}" style="display: flex;flex-direction: row;align-items: center;align-self: center;justify-content: center;">
      <icon type="waiting" size="45"/><text>刷新中...</text></view>
      <view wx:else  style="display:none" ><text></text></view>
  <view class="lll"  wx:for="{{list}}" wx:for-item="item" bindtap="bindViewTap" 
         data-title="{{item.title}}" >
      <image style=" width: 50px;height: 50px;margin: 20rpx;" src="{{item.firstImg}}"   ></image>
      <view  class="eee" > 
       <view style="margin:5px;font-size:8px"> 标题:{{item.title}}</view>
       <view style="margin:5px;color:red;font-size:6px"> 来源:{{item.source}}</view>
       </view>
</view>
<view class="tips1">
      <view wx:if="{{hasMore}}" style="display: flex;flex-direction: row;align-items: center;align-self: center;justify-content: center;">
      <icon type="waiting" size="45"/><text>玩命的加载中...</text></view>
      <view wx:else><text>没有更多内容了</text></view>###     </view>###  </scroll-view>### ###
2.2.1 detail.js逻辑代码文件


var network_util = require('../../utils/network_util.js');
var json_util = require('../../utils/json_util.js');
Page({
  data:{
    // text:"这是一个页面"
    list:[],
     dd:'',
     hidden:false,
     page: 1,
     size: 20,
     hasMore:true,
     hasRefesh:false
  },
  onLoad:function(options){
    var that = this;
    var url = 'http://v.juhe.cn/weixin/query?key=f16af393a63364b729fd81ed9fdd4b7d&pno=1&ps=10';
    network_util._get(url,
    function(res){
    that.setData({
       list:res.data.result.list,
       hidden: true,
    });
    },function(res){
     console.log(res);
 });
  },
  onReady:function(){
    // 页面渲染完成
  },
  onShow:function(){
    // 页面显示
  },
  onHide:function(){
    // 页面隐藏
  },
  onUnload:function(){
    // 页面关闭
  },
   //点击事件处理
  bindViewTap: function(e) {
    console.log(e.currentTarget.dataset.title);
  },
  //加载更多
  loadMore: function(e) {
     var that = this;
    that.setData({
    hasRefesh:true,});
    if (!this.data.hasMore) return
    var url = 'http://v.juhe.cn/weixin/query?key=f16af393a63364b729fd81ed9fdd4b7d&pno=' ( that.data.page) '&ps=10';
    network_util._get(url,
    function(res){
    that.setData({
       list: that.data.list.concat(res.data.result.list),
       hidden: true,
       hasRefesh:false,
    });
    },function(res){
     console.log(res);
  })
},
//刷新处理
refesh: function(e) {
 var that = this;
 that.setData({
    hasRefesh:true,
 });
    var url = 'http://v.juhe.cn/weixin/query?key=f16af393a63364b729fd81ed9fdd4b7d&pno=1&ps=10';
    network_util._get(url,
    function(res){
    that.setData({
      list:res.data.result.list,
       hidden: true,
       page:1,###       有刷新:假,
    });
    },函数(res){
     console.log(res);
 })
},
})

本站所有资源均由网友贡献发布,或转载各大下载站。请自行检查软件的完整性!本网站所有资源仅供学习和参考。请勿用于商业用途,否则造成的一切后果由您自行负责!如有侵权,请联系我们删除下架。联系方式:admin@php.cn

最新课程

查看更多
  • 【web前端】Node.js快速入门
    【web前端】Node.js快速入门
    本课程专为初学者量身打造,旨在帮助学员快速掌握Node.js的基础知识与核心技术。课程从Node.js的安装与环境配置开始,逐步深入解析其异步编程模型、模块系统以及事件驱动机制。通过丰富的实战案例,学员将学会如何使用Node.js搭建高效、稳定的Web服务器,处理HTTP请求与响应,以及进行文件操作与数据库交互。此外,课程还将介绍Node.js在前端开发中的典型应用场景,助力学员快速提升实战能力,轻松应对前端开发的挑战。
  • 国外Web开发全栈课程全集
    国外Web开发全栈课程全集
    本课程是一套涵盖HTML、CSS、JavaScript、Vue.js、React、Flutter以及移动APP开发的全面教程。从基础的网页制作到复杂的前后端交互,再到移动应用的实战开发,课程内容丰富,实战性强。学员将通过一系列实战项目,深入了解并掌握各类开发技能,快速成长为全栈开发工程师。无论是初学者还是有一定经验的开发者,都能从中受益。通过本课程的学习,你将具备独立开发Web应用与移动应用的能力,为未来的职业发展打下坚实的基础。
  • Go语言实战之 GraphQL
    Go语言实战之 GraphQL
    本课程旨在帮助学习者掌握如何使用Go语言实现GraphQL服务。课程从GraphQL的基础知识讲起,深入剖析其数据查询语言的特点和优势,随后结合Go语言的特性,详细讲解如何构建GraphQL服务器、处理请求、定义数据模式等。通过丰富的实战案例,学习者将学会如何在实际项目中集成GraphQL,提升数据交互的灵活性和效率。课程适合有一定Go语言基础的开发者,是构建高效、现代化API的必备之选。
  • 550W粉丝大佬手把手从零学JavaScript
    550W粉丝大佬手把手从零学JavaScript
    本课程,专为初学者打造,由谷歌大佬亲自授课。课程从JavaScript的基础知识讲起,逐步深入,涵盖语法、函数、对象、事件处理等内容。通过生动的案例和实战练习,帮助学员快速掌握JavaScript的核心技能。大佬将亲自解答学员疑惑,分享编程心得,让学员在轻松愉快的氛围中成长为JavaScript高手。无论你是编程小白,还是希望提升技能的开发者,本课程都将是你学习JavaScript的不二之选。
  • python大神Mosh,零基础小白6小时完全入门
    python大神Mosh,零基础小白6小时完全入门
    本课程带领你踏上编程之旅。从零基础开始,这个为期 6 小时的课程将指导你掌握 Python 的基本原理和高级概念。 无论你是初学者还是希望提高技能的经验丰富的程序员,Mosh 的深入讲解和清晰的教学方法将使你快速掌握 Python。深入了解变量、数据类型、条件语句、循环、函数、对象和模块,并通过动手练习巩固你的理解。 本课程是学习 Python 的理想选择,能够为各种职业领域做好准备。Mosh 的专业知识和对教育的热情将使你充满信心,踏上成为一名熟练的 Python 开发人员的道路。