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

在这里插入图片描述

✅作者简介: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.hqwc.cn/news/2025.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++类与对象(默认成员函数之拷贝构造函数)

接前几次的类与对象的默认函数的知识点&#xff0c;下来面是默认成员函数中的拷贝构造函数。是的&#xff0c;它的名字是拷贝构造函数&#xff0c;他其实也是一种构造函数&#xff0c;为什么呢&#xff1f;接下来你就知道了&#xff0c;我们直接看看代码&#xff0c;如下&#…

kafka入门,发送原理和生产者重要参数(三)

发送原理 在消息发送过程中&#xff0c;涉及两个线程&#xff0c;main线程和Sender线程。在main线程中创建了一个双端队列&#xff0c;RecordAccumulator,Sender过程不断从RecordAccumulator中拉取消息发送到Kafka Broker batch size:只有数据累计到batch.size之后&#xff0…

C#winform listBox组件批量删除

修改listBox组件属性&#xff1a;可以选中多个板坯号 选中板坯列表&#xff0c;在界面上点击删除按钮&#xff0c;触发删除方法deleteList&#xff1a; private void deleteList() { ListBox.SelectedIndexCollection sic listBoxProducts.SelectedIndice…

虹科分享|如何防范MOVEit transfer漏洞|高级威胁防御

美国网络安全和基础设施安全局(CISA)承认&#xff0c;它正在向几个联邦机构提供支持&#xff0c;这些机构在Progress(前身为IpSwitch)MOVEit传输解决方案中暴露出漏洞后被攻破。根据CISA发布的一份警报和网络安全公告&#xff0c;CL0P勒索软件团伙一直在积极利用漏洞进行数据外…

react中基于腾讯地图的地图选点,地址搜索逆向定位获取经纬度

react中基于腾讯地图的地图选点&#xff0c;地址搜索逆向定位获取经纬度 效果示例图地图组件tencentMap/index.jsx样式map.scss 使用案例 效果示例图 地图组件tencentMap/index.jsx import { useEffect, useRef, useState } from "react"; import "./map.scss&…

数据结构--单链表的插入删除

数据结构–单链表的插入&删除 目标 单链表的插入&#xff08;位插、前插、后插&#xff09; 单链表的删除 单链表的插入 按为序插入(带头结点) ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。 思路&#xff1a;找到第i-1个结点,将新结点插入其…

SpringMVC

SpringMVC常用注解: 1&#xff1a;Controller:用于标记控制器类&#xff0c;表示该类是可以处理HTTP请求的。 2&#xff1a;RequestMapping:用于映射URL和处理方法。可以在类和方法上&#xff0c;类级别的RequestMapping会对其中所有的方法进行URL映射。参数支持Ant-style路径…

01.网络编程-基础概念

网络编程就是指编写互联网项目&#xff0c;项目可以通过网络传输数据进行通讯 网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包&#xff0c;在接收端按照规定好的协议把包进行解析&#xff0c;从而提取出对应的信息&#xff0c;达到通信的目的 1.1 软件结构…

掌握GDB调试工具,轻松排除bug!

一、什么是GDB gdb是GNU debugger的缩写&#xff0c;是编程调试工具。 GDB官网&#xff1a; https://www.gnu.org/software/gdb/GDB适用的编程语言&#xff1a; Ada / C / C / objective-c / Pascal 等。GDB的工作方式&#xff1a; 本地调试和远程调试。 目前release的最新版…

PG系列4:linux下编译安装PG15

文章目录 一. 源码安装1.1 下载并解压1.2 安装依赖包1.3 开始编译安装1.4 创建用户1.5 创建目录及修改权限1.6 设置环境变量1.7 初始化数据库1.8 启动和关闭数据库 二. 验证2.1 查看数据库后台进程2.2 验证和登陆数据库2.3 查看数据库版本2.4 查看数据库运行状态2.5 修改白名单…

Docker 安装 Redis

一、官方推荐安装方式&#xff1a; 1、执行 docker pull redis:4.0.1 命令&#xff0c;下载 redis 镜像&#xff0c;如下所示&#xff1a; 2、执行命令&#xff0c;创建并启动 redis 容器 docker run --rm -d --name redis6379 -p 6379:6379 redis:4.0.1 --requirepass "…

【QT】如何自定义QMessageBox的窗口大小,通过继承QDialog重新实现美观的弹窗

目录 1. QMessageBox原有的弹窗2. 网上第一种方法&#xff1a;通过样式表setStyleSheet实现改变弹窗大小&#xff08;总体不美观&#xff09;3. 网上第二种方法&#xff1a;重写ShowEvent()改变弹窗大小&#xff08;总体也不美观&#xff09;4. 最好的办法&#xff1a;继承QDia…