当前位置:首页 > 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表单搜索功能 在Vue中实现表单搜索功能通常涉及表单绑定、事件处理和搜索逻辑。以下是具体实现方法: 数据绑定与表单结构 使用v-model实现表单与Vue数据的双向绑定: <tem…

vue怎么实现文件树

vue怎么实现文件树

Vue 实现文件树的方法 使用递归组件 递归组件是处理嵌套数据结构的理想方式。文件树通常包含文件夹和文件的嵌套结构,适合用递归组件实现。 <template> <ul>…

vue实现生成二维码

vue实现生成二维码

使用qrcode.vue库生成二维码 安装qrcode.vue库: npm install qrcode.vue --save 在Vue组件中使用: <template> <…

vue实现轮询

vue实现轮询

实现轮询的基本方法 在Vue中实现轮询可以通过setInterval或setTimeout配合递归调用完成。轮询通常用于定期向服务器请求数据更新。 使用setInterval的简单示例: da…

vue实现ai

vue实现ai

Vue 实现 AI 功能 Vue.js 可以通过集成第三方 AI 服务或本地 AI 模型来实现 AI 功能。以下是几种常见的方法: 集成第三方 AI API 使用 Vue 调用如 OpenAI、G…

vue 实现菜单

vue 实现菜单

Vue 实现菜单的方法 使用 Vue 实现菜单可以通过多种方式,以下是几种常见的方法: 使用 Vue Router 实现动态路由菜单 通过 Vue Router 可以动态生成菜单,根据路由配置自动…