✅作者简介: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知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。