当前位置:首页 > VUE

vue中实现分页查询

2026-01-21 15:34:04VUE

在Vue中实现分页查询

分页组件与数据绑定

使用第三方分页组件如Element UIel-pagination,或自定义分页组件。绑定current-pagepage-size到数据模型,监听current-changesize-change事件。

<el-pagination
  v-model:current-page="currentPage"
  v-model:page-size="pageSize"
  :total="total"
  @current-change="handleCurrentChange"
  @size-change="handleSizeChange"
/>

数据请求与参数传递

在Vue的methods中定义请求方法,将分页参数传递给后端API。通常需要currentPagepageSize参数。

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

处理分页事件

在分页事件触发时重新请求数据。current-change事件处理页码变化,size-change事件处理每页条数变化。

handleCurrentChange(val) {
  this.currentPage = val;
  this.fetchData();
},
handleSizeChange(val) {
  this.pageSize = val;
  this.fetchData();
}

初始加载与监听

createdmounted钩子中初始化数据,监听分页参数变化时自动触发请求。

created() {
  this.fetchData();
},
watch: {
  currentPage() {
    this.fetchData();
  },
  pageSize() {
    this.fetchData();
  }
}

后端接口配合

后端接口需支持分页参数,通常使用pagesize或类似参数。返回数据包含当前页的数据列表和总条数。

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

自定义分页组件

若需自定义分页组件,可通过计算属性生成页码数组,结合v-for渲染页码按钮。

<div class="pagination">
  <button 
    v-for="page in pageNumbers" 
    :key="page"
    @click="goToPage(page)"
  >{{ page }}</button>
</div>
computed: {
  pageNumbers() {
    const pages = [];
    for (let i = 1; i <= Math.ceil(this.total / this.pageSize); i++) {
      pages.push(i);
    }
    return pages;
  }
}

vue中实现分页查询

标签: 分页vue
分享给朋友:

相关文章

vue实现菜单调用

vue实现菜单调用

Vue 实现动态菜单的常见方法 基于路由配置生成菜单 Vue Router 的路由配置可以天然转化为菜单结构,适合权限与路由绑定的系统: // router/index.js const rout…

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…

vue公共列表的实现

vue公共列表的实现

实现 Vue 公共列表组件 公共列表组件通常用于展示重复结构的数据,例如商品列表、用户列表等。以下是一个典型的实现方式: 基础实现 创建可复用的列表组件 List.vue: <templ…

vue组件传值实现分页

vue组件传值实现分页

Vue 组件传值实现分页 在Vue中实现分页功能,通常需要父子组件之间的数据传递。以下是几种常见的传值方法: 使用props和$emit 父组件通过props向子组件传递数据,子组件通过$emit…

vue实现点击旋转轮盘

vue实现点击旋转轮盘

实现点击旋转轮盘效果 在Vue中实现点击旋转轮盘效果,可以通过CSS动画和Vue的数据绑定结合完成。以下是一个完整的实现方案: 准备工作 需要安装Vue.js环境,可以通过CDN引入或使用Vue…

js实现vue

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…