当前位置:首页 > VUE

vue实现后台分页

2026-01-15 03:22:38VUE

Vue 实现后台分页的方法

分页组件与数据绑定

在 Vue 中实现后台分页通常需要结合分页组件和后端 API。使用 el-pagination(Element UI)或自定义分页组件,通过 v-model 绑定当前页码和每页条数。

vue实现后台分页

<template>
  <el-pagination
    :current-page="currentPage"
    :page-size="pageSize"
    :total="total"
    @current-change="handlePageChange"
    @size-change="handleSizeChange"
  />
</template>

数据请求与参数传递

分页参数需通过 API 传递给后端。常见的参数包括 currentPage(当前页)和 pageSize(每页条数)。使用 axiosfetch 发送请求时,将参数拼接到 URL 或请求体中。

vue实现后台分页

methods: {
  fetchData() {
    axios.get('/api/data', {
      params: {
        page: this.currentPage,
        size: this.pageSize
      }
    }).then(response => {
      this.dataList = response.data.list;
      this.total = response.data.total;
    });
  }
}

处理分页事件

分页组件触发的事件(如页码改变、每页条数改变)需更新参数并重新请求数据。

methods: {
  handlePageChange(page) {
    this.currentPage = page;
    this.fetchData();
  },
  handleSizeChange(size) {
    this.pageSize = size;
    this.fetchData();
  }
}

后端接口要求

后端接口需支持分页参数,返回数据格式通常包含列表数据(list)和总条数(total)。例如:

{
  "list": [...],
  "total": 100
}

完整示例代码

<template>
  <div>
    <el-table :data="dataList">
      <!-- 表格列定义 -->
    </el-table>
    <el-pagination
      :current-page="currentPage"
      :page-size="pageSize"
      :total="total"
      @current-change="handlePageChange"
      @size-change="handleSizeChange"
    />
  </div>
</template>

<script>
export default {
  data() {
    return {
      dataList: [],
      currentPage: 1,
      pageSize: 10,
      total: 0
    };
  },
  created() {
    this.fetchData();
  },
  methods: {
    fetchData() {
      axios.get('/api/data', {
        params: {
          page: this.currentPage,
          size: this.pageSize
        }
      }).then(response => {
        this.dataList = response.data.list;
        this.total = response.data.total;
      });
    },
    handlePageChange(page) {
      this.currentPage = page;
      this.fetchData();
    },
    handleSizeChange(size) {
      this.pageSize = size;
      this.fetchData();
    }
  }
};
</script>

注意事项

  • 分页参数需与后端约定一致,如 pagesizecurrentPagepageSize
  • 首次加载时需主动调用 fetchData,通常在 createdmounted 钩子中执行。
  • 分页组件的 total 属性需根据后端返回的总条数更新。

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

相关文章

vue 分页 实现

vue 分页 实现

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

vue  实现分页

vue 实现分页

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

vue实现页面分页

vue实现页面分页

Vue实现页面分页的方法 使用Element UI的分页组件 Element UI提供了现成的分页组件el-pagination,可以快速实现分页功能。需要先安装Element UI库。 <…

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('lo…

vue实现后台界面

vue实现后台界面

Vue实现后台界面的关键步骤 项目初始化与依赖安装 使用Vue CLI或Vite创建项目,安装必要依赖: npm create vue@latest admin-dashboard npm in…

vue实现分页

vue实现分页

Vue 实现分页的方法 使用 Element UI 的分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成到 Vue 项目中。 安装 Element UI:…