当前位置:首页 > VUE

vue结合后台实现分页

2026-02-23 07:01:43VUE

Vue 结合后台实现分页

后端接口设计

后端需要提供支持分页的接口,通常包含以下参数:

  • page: 当前页码
  • pageSize: 每页显示数量
  • 返回数据应包含分页信息,如总条数(total)、当前页数据(list)

示例接口响应格式:

{
  "code": 200,
  "data": {
    "total": 100,
    "list": [
      { "id": 1, "name": "Item 1" },
      { "id": 2, "name": "Item 2" }
    ]
  }
}

前端实现步骤

安装依赖

npm install axios

封装API请求

vue结合后台实现分页

// api.js
import axios from 'axios'

export const getPageData = (params) => {
  return axios.get('/api/data', { params })
}

Vue组件实现

<template>
  <div>
    <table>
      <tr v-for="item in tableData" :key="item.id">
        <td>{{ item.name }}</td>
      </tr>
    </table>

    <el-pagination
      @current-change="handleCurrentChange"
      :current-page="pagination.current"
      :page-size="pagination.size"
      :total="pagination.total">
    </el-pagination>
  </div>
</template>

<script>
import { getPageData } from './api'

export default {
  data() {
    return {
      tableData: [],
      pagination: {
        current: 1,
        size: 10,
        total: 0
      }
    }
  },
  created() {
    this.fetchData()
  },
  methods: {
    fetchData() {
      const { current, size } = this.pagination
      getPageData({ page: current, pageSize: size })
        .then(res => {
          this.tableData = res.data.list
          this.pagination.total = res.data.total
        })
    },
    handleCurrentChange(val) {
      this.pagination.current = val
      this.fetchData()
    }
  }
}
</script>

关键点说明

分页组件绑定 使用Element UI的el-pagination组件,绑定当前页码、每页大小和总条数,监听页码变化事件。

数据请求时机created钩子中初始化数据,页码变化时重新请求数据。

vue结合后台实现分页

参数传递 将当前页码和每页大小作为参数传递给后端接口。

优化建议

添加加载状态

<template>
  <el-pagination :disabled="loading" ... />
</template>

<script>
export default {
  data() {
    return {
      loading: false
    }
  },
  methods: {
    fetchData() {
      this.loading = true
      getPageData(...)
        .finally(() => {
          this.loading = false
        })
    }
  }
}
</script>

保存分页设置 将分页参数保存到vuex或localStorage,保持用户操作习惯。

错误处理 添加接口请求失败的处理逻辑,显示错误提示。

标签: 分页后台
分享给朋友:

相关文章

php分页功能的实现

php分页功能的实现

分页功能的基本原理 分页功能的核心是通过SQL的LIMIT子句实现数据分段查询。LIMIT接受两个参数:起始位置偏移量和每页记录数。例如查询第2页(每页10条)的SQL语句为: SELECT * F…

vue 分页功能实现

vue 分页功能实现

分页功能实现方法 使用 Element UI 的分页组件 Element UI 提供了现成的分页组件 el-pagination,可以快速实现分页功能。 安装 Element UI: npm in…

vue 分页如何实现

vue 分页如何实现

实现 Vue 分页的几种方法 使用 Element UI 分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成。安装 Element UI 后,直接引入组件并…

vue 实现后台搜索

vue 实现后台搜索

Vue 实现后台搜索功能 在 Vue 中实现后台搜索功能通常涉及以下几个关键步骤: 创建搜索输入框 使用 v-model 绑定搜索关键词,监听输入变化触发搜索请求: <templat…

vue mui实现分页

vue mui实现分页

vue mui实现分页的方法 在Vue项目中结合MUI框架实现分页功能,可以通过以下步骤完成。假设使用的是MUI的官方组件或类似UI库(如Mint UI),以下是具体实现方式: 安装MUI或相关UI…

vue中分页的实现

vue中分页的实现

分页组件实现 在Vue中实现分页功能通常需要结合后端API的分页数据返回和前端的分页组件展示。以下是常见的实现方法: 基础分页组件 <template> <div class…