当前位置:首页 > uni-app

uniapp 分页组件

2026-01-14 18:36:22uni-app

uniapp 分页组件实现方法

在uniapp中实现分页功能,可以通过自定义组件或使用第三方组件库完成。以下是几种常见实现方式:

自定义分页组件 创建一个名为uni-pagination的组件,模板部分代码如下:

uniapp 分页组件

<view class="uni-pagination">
  <view class="uni-pagination-prev" @click="prevPage">上一页</view>
  <view class="uni-pagination-item" 
        v-for="page in pages" 
        :key="page"
        :class="{active: currentPage === page}"
        @click="changePage(page)">
    {{page}}
  </view>
  <view class="uni-pagination-next" @click="nextPage">下一页</view>
</view>

使用uni-ui官方组件 uniapp官方提供了uni-pagination组件,安装uni-ui后可直接使用:

<uni-pagination 
  :total="total" 
  :current="current" 
  :page-size="pageSize" 
  @change="change">
</uni-pagination>

第三方组件库实现 如使用uView UI的分页组件:

uniapp 分页组件

<u-pagination 
  :count="total" 
  v-model="current" 
  :page-size="pageSize">
</u-pagination>

分页逻辑处理

在页面或组件中需要处理分页数据请求:

export default {
  data() {
    return {
      list: [],
      currentPage: 1,
      pageSize: 10,
      total: 0
    }
  },
  methods: {
    fetchData() {
      // 模拟API请求
      uni.request({
        url: 'your_api_url',
        data: {
          page: this.currentPage,
          size: this.pageSize
        },
        success: (res) => {
          this.list = res.data.list
          this.total = res.data.total
        }
      })
    },
    changePage(page) {
      this.currentPage = page
      this.fetchData()
    }
  },
  created() {
    this.fetchData()
  }
}

样式优化建议

为分页组件添加基础样式:

.uni-pagination {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.uni-pagination-item, 
.uni-pagination-prev,
.uni-pagination-next {
  padding: 5px 10px;
  margin: 0 5px;
  border: 1px solid #ddd;
  border-radius: 3px;
}
.uni-pagination-item.active {
  background-color: #007AFF;
  color: #fff;
  border-color: #007AFF;
}

注意事项

  • 分页组件应显示页码范围,避免在数据量过大时显示过多页码
  • 需要处理边界情况,如第一页禁用"上一页",最后一页禁用"下一页"
  • 在H5端可使用PC风格分页,APP端建议使用移动端风格的简单分页
  • 列表数据变化时应重置当前页码为1

标签: 分页组件
分享给朋友:

相关文章

vue分页实现

vue分页实现

实现Vue分页的几种方法 使用Element UI的分页组件 安装Element UI库后,可以直接使用其分页组件。以下是一个基本示例: <template> <div>…

vue实现组件

vue实现组件

Vue 组件实现基础 Vue 组件是可复用的 Vue 实例,用于封装 UI 和逻辑。通过 .vue 文件或直接注册组件实现。 单文件组件 (SFC) 示例 <template&g…

vue实现折叠组件

vue实现折叠组件

Vue 折叠组件实现方法 基于 v-show 和事件触发 通过 v-show 控制内容的显示与隐藏,结合点击事件切换状态。 <template> <div> &…

vue 分页的实现

vue 分页的实现

Vue 分页的实现方法 使用 Element UI 的分页组件 安装 Element UI: npm install element-ui 在 Vue 项目中引入 Element UI 的分页组件…

Vue组件实现方法

Vue组件实现方法

Vue组件的基本实现方法 Vue组件是Vue.js的核心概念之一,用于构建可复用的UI模块。以下是Vue组件的几种常见实现方式: 单文件组件(SFC) 使用.vue文件格式,将模板、脚本和样式封装…

vue radio组件实现

vue radio组件实现

Vue Radio 组件实现 在 Vue 中实现 Radio 组件可以通过原生 HTML 的 <input type="radio"> 结合 Vue 的响应式特性,或者使用第三方 UI 库…