微信小程序——分页组件的创建与使用

news/2024/7/20 2:07:04 标签: 微信小程序, 前端, 小程序

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:小程序>微信小程序学习分享
✨特色专栏:国学周更-心性养成之路
🥭本文内容:小程序>微信小程序——分页组件的创建与使用

文章目录

    • 一、创建 pagination 分页组件
      • 1、前端页面 pagination.wxml 代码分享
      • 2、样式 pagination.wxss 代码分享
      • 3、逻辑 pagination.js 代码分享
    • 二、使用 pagination 分页组件

在这里插入图片描述

一、创建 pagination 分页组件

在项目的根目录下创建一个名为 pagination 的文件夹,用于存放分页组件相关的文件。

在这里插入图片描述

1、前端页面 pagination.wxml 代码分享

在pagination文件夹中创建一个名为pagination.wxml的文件,用于编写分页组件的模板代码。可以参考以下示例代码:

<view class="pagination">
  <button class="prev-btn" bindtap="prevPage">上一页</button>
  <text class="page-info">{{currentPage}}/{{totalPage}}</text>
  <button class="next-btn" bindtap="nextPage">下一页</button>
</view>

在这个示例代码中,我们使用了小程序的<view>标签来创建一个容器,设置了一个名为pagination的class,用于设置分页组件的样式。

在容器中,我们使用了<button>标签来创建上一页和下一页按钮,并通过bindtap属性绑定了prevPage和nextPage方法。

在容器中,我们使用了<text>标签来显示当前页码和总页数,并通过双花括号{{}}的方式绑定了currentPage和totalPage变量。

2、样式 pagination.wxss 代码分享

在pagination文件夹中创建一个名为pagination.wxss的文件,用于编写分页组件的样式代码。可以参考以下示例代码:

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}

.prev-btn,
.next-btn {
  padding: 5px 10px;
  background-color: #ccc;
  color: #fff;
  border-radius: 5px;
  margin: 0 5px;
}

.page-info {
  font-size: 14px;
}

3、逻辑 pagination.js 代码分享

在pagination文件夹中创建一个名为pagination.js的文件,用于编写分页组件的逻辑代码。可以参考以下示例代码:

Component({
  properties: {
    total: {
      type: Number,
      value: 0
    },
    pageSize: {
      type: Number,
      value: 10
    },
    currentPage: {
      type: Number,
      value: 1
    }
  },
  methods: {
    prevPage() {
      if (this.data.currentPage > 1) {
        this.setData({
          currentPage: this.data.currentPage - 1
        });
        this.triggerEvent('change', { page: this.data.currentPage });
      }
    },
    nextPage() {
      if (this.data.currentPage < this.data.totalPage) {
        this.setData({
          currentPage: this.data.currentPage + 1
        });
        this.triggerEvent('change', { page: this.data.currentPage });
      }
    }
  },
  lifetimes: {
    attached() {
      this.setData({
        totalPage: Math.ceil(this.data.total / this.data.pageSize)
      });
    }
  }
});

在这个示例代码中,我们使用了小程序的Component方法来创建一个分页组件。在properties中定义了三个属性:total表示总记录数,pageSize表示每页显示的记录数,currentPage表示当前页码。

在methods中定义了两个方法:prevPage用于处理上一页按钮的点击事件,nextPage用于处理下一页按钮的点击事件。在这两个方法中,我们通过修改currentPage的值来实现页码的切换,并通过triggerEvent方法触发change事件,将当前页码传递给父组件。

在lifetimes的attached生命周期函数中,我们计算了总页数totalPage,并将其保存在组件的data中。

二、使用 pagination 分页组件

在这里插入图片描述

小程序的页面中使用分页组件的步骤如下:

1、在小程序的页面中引入分页组件。 可以使用usingComponents关键字来引入组件,或者使用require方法动态引入组件。以下是两种引入方式的示例代码:
使用usingComponents关键字引入组件:

{
  "usingComponents": {
    "pagination": "/path/to/pagination"
  }
}

2、使用require方法动态引入组件:

const Pagination = require('/path/to/pagination');

3、在小程序的页面中使用分页组件。 可以在页面的wxml文件中使用<pagination>标签来引入分页组件,并通过属性绑定的方式传递数据和事件。以下是一个示例代码:

<view>
  <!-- 其他页面内容 -->
  <pagination total="{{total}}" current="{{currentPage}}" bind:change="onPageChange"></pagination>
</view>

在这个示例代码中,我们使用了<pagination>标签来引入分页组件。通过total属性传递总记录数,通过current属性传递当前页码,通过bind:change事件绑定方式绑定了onPageChange方法。

4、在小程序的页面中编写分页查询的逻辑代码。 可以在页面的js文件中编写分页查询的逻辑代码。以下是一个示例代码:

Page({
  data: {
    total: 100, // 总记录数
    currentPage: 1 // 当前页码
  },
  onPageChange(event) {
    const { page } = event.detail;
    // 根据页码查询数据
    // 更新页面数据
  }
});

在这个示例代码中,我们在页面的data中定义了total和currentPage两个变量,分别表示总记录数和当前页码。

在onPageChange方法中,我们通过event.detail获取到分页组件传递的数据,其中page表示当前页码。在实际开发中,你可以根据页码查询数据,并更新页面的数据。


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述


http://www.niftyadmin.cn/n/454278.html

相关文章

spring 解决循环依赖

spring 解决循环依赖 1、什么是循环依赖&#xff1f; 循环依赖其实就是循环引用&#xff0c;也就是两个或则两个以上的bean互相持有对方&#xff0c;最终形成闭环。比如A依赖于B&#xff0c;B依赖于C&#xff0c;C又依赖于A。如下图&#xff1a; spring的单例对象的初始化主要…

回调函数(callback)是什么?一文理解回调函数(callback)

这里写目录标题 一、什么是回调函数1.1、回调函数的定义和基本概念1.2、回调函数的作用和使用场景 二、回调函数的实现方法2.1、函数指针2.2、函数对象/functor2.3、匿名函数/lambda表达式 三、回调函数的应用举例四、回调函数的优缺点五、回调函数与其他编程概念的关系5.1、回…

【Java-SpringBoot+Vue+MySql】Day2-第一个SpringBoot项目应用

目录 一、初步了解SpringBoot 二、创建第一个SpringBoot项目 三、配置MyBatis数据源 四、创建启动类 五、MVC设计模式 六、SpringBoot整合应用 &#xff08;1&#xff09;创建一个实体类 &#xff08;2&#xff09;创建DAO接口 &#xff08;3&#xff09;创建mapper&#…

多窗口通信

1、基本概念 BroadcastChannel接口代理了一个命名频道&#xff0c;可以让指定 origin 下的任意 browsing context 来订阅它。它允许同源的不同浏览器窗口&#xff0c;Tab 页&#xff0c;frame 或者 iframe 下的不同文档之间相互通信。通过触发一个 message 事件&#xff0c;消…

值得收藏的 10个 Android 手机恢复丢失文件的工具榜单

尽管我们尽可能避免这种情况&#xff0c;但有时我们还是会不小心删除 Android 设备上的重要文件。无论是照片、视频、文档还是任何其他形式的数据&#xff0c;数据丢失都会带来巨大的痛苦。不幸的是&#xff0c;Android 设备没有内置恢复工具。但是&#xff0c;有一些第三方恢复…

安卓开发级联显示菜单-省市区显示举例

安卓开发级联显示菜单-省市区显示举例 问题背景 安卓日常开发过程&#xff0c;经常会有需要级联显示的场景&#xff0c;比如省市区显示等&#xff0c;或者各种组织结构级联显示&#xff0c;本文将介绍安卓开发过程实现级联显示的一种方案。 实现效果如下&#xff1a; 问题分…

短视频矩阵源码

短视频矩阵源码的开发部署其实并不难&#xff0c;主要依托于抖音平台各种开放权限进行研发&#xff0c;市面上常见的源码功能构建也是大同小异&#xff0c;主要处理还在于细节及产品优化上。 如&#xff1a; 1. 视频制作板块&#xff0c;文字转语音功能&#xff0c;当然各种云&…

MySQL数据库——事务

MySQL数据库——事务 一、事务的概念二、事务的ACID特点1.原子性2.一致性3.隔离性4.持久性5.事务隔离级别的作用范围 三、事务级别的查看与设置1.查询全局事务隔离级别2.查询会话事务隔离级别3.设置全局事务隔离级别4.设置会话事务隔离级别 四、事务控制语句1.测试提交事务2.测…