当前位置:首页 > 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参数。

vue中实现分页查询

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钩子中初始化数据,监听分页参数变化时自动触发请求。

vue中实现分页查询

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 实现父子组件传值 父组件向子组件传值(props) 父组件通过 v-bind 或简写 : 向子组件传递数据。子组件通过 props 接收数据。 父组件代码: <template&g…

vue 实现树状

vue 实现树状

Vue 实现树状结构的方法 递归组件实现树状结构 递归组件是 Vue 中实现树状结构的常见方法。通过组件自身调用自身,可以轻松构建多层级树状结构。 <template> <ul…

vue实现slot

vue实现slot

Vue 中的 Slot 实现方法 Vue 的 slot 是一种内容分发机制,允许父组件向子组件插入内容。以下是几种常见的 Slot 实现方式: 默认 Slot 子组件通过 <slot>…

vue实现treeview

vue实现treeview

Vue 实现 TreeView 的方法 使用递归组件实现 TreeView 递归组件是 Vue 中实现 TreeView 的常见方式。通过组件调用自身,可以轻松处理嵌套的树形结构数据。 <te…

vue实现dag

vue实现dag

Vue实现DAG(有向无环图) 在Vue中实现DAG(Directed Acyclic Graph,有向无环图)通常涉及数据结构的建模、可视化渲染以及交互逻辑处理。以下是关键实现步骤和示例代码: 数…

vue jwt实现

vue jwt实现

Vue JWT 实现方法 安装依赖 确保项目中安装了 jsonwebtoken(后端)和 axios(前端)。若使用 Vue 3,可搭配 vue-router 和 pinia(或 vuex)管理状态。…