当前位置:首页 > 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中实现前端分页通常涉及数据分割和页面控制逻辑。以下是常见的实现方式: 使用计算属性分页 通过计算属性对数据进行切片处理: computed: { paginatedD…

vue 分页 实现

vue 分页 实现

Vue 分页实现方法 使用第三方库(如 Element UI) Element UI 提供了现成的分页组件 el-pagination,适合快速集成。 安装 Element UI: npm i…

vue分页实现

vue分页实现

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

vue  实现分页

vue 实现分页

实现分页的基本思路 在Vue中实现分页通常需要结合后端API返回的数据和前端的分页组件。分页的核心逻辑包括计算总页数、处理当前页码变化以及触发数据请求。 分页组件示例 使用Element UI的分页…

vue router实现分页

vue router实现分页

Vue Router 实现分页的方法 在 Vue.js 中,可以通过 Vue Router 实现分页功能,通常需要结合路由参数和动态路由匹配。以下是几种常见的实现方式: 使用查询参数实现分页 在路由…

vue实现拖拽实现组件嵌套

vue实现拖拽实现组件嵌套

Vue 拖拽实现组件嵌套 使用 Vue 实现拖拽组件嵌套功能可以通过原生 HTML5 拖拽 API 或第三方库如 vuedraggable 实现。以下是两种方法的详细说明: 使用 HTML5 拖拽…