Vue3使用element plus 分页

本文介绍了如何在Vue.js应用中使用Element UI库的分页组件,包括如何引入组件、初始化页面和每页显示数量的变量,以及如何处理分页事件。通过设置`layout`属性、`:total`绑定总条数、`:current-page`和`:page-sizes`来定制分页行为,并在`methods`中定义`handleSizeChange`和`handleCurrentChange`方法来响应分页变化,动态更新表格展示的数据。

1、引入分页组件:

<el-pagination

        layout="total,sizes,prev,pager,next,jumper"

        :total="list.length"

        @size-change="handleSizeChange"

        @current-change="handleCurrentChange"

        :current-page="currentPage"

      />

2、data中初始化变量:

currentPage: 1, //默认页码为1

pagesize: 10, //默认一页显示10条

3、修改表格绑定的数据

:data="list.slice((currentPage - 1) * pagesize, currentPage * pagesize) "

4、methods中添加换页方法

handleSizeChange: function (size) {

      //一页显示多少条

      this.pagesize = size;

    },

    handleCurrentChange: function (currentPage) {

      //页码更改方法

      this.currentPage = currentPage;

    }

           

         

### 实现 Vue3Element Plus 分页组件 为了在 Vue3 项目中使用 Element Plus分页组件,需先确保已安装并注册了 Element Plus[^1]。 #### 导入和配置分页所需资源 ```javascript import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; // 导入Element Plus 和样式文件 import ElementPlus from &#39;element-plus&#39;; import &#39;element-plus/dist/index.css&#39;; const app = createApp(App); app.use(ElementPlus); export default app; ``` 此部分代码展示了如何初始化 Vue 应用程序并将 Element Plus 插件注册至应用实例中。这一步骤对于后续能够正常使用 Element Plus 提供的各种 UI 组件至关重要。 #### 创建带有分页功能的数据表格 下面是一个简单的例子,它创建了一个包含分页控件的数据列表: ```html <template> <div class="pagination-container"> <!-- 数据表 --> <el-table :data="paginatedData" style="width: 100%"> <el-table-column prop="date" label="日期"></el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> <!-- 分页器 --> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="tableData.length"> </el-pagination> </div> </template> <script setup> import { ref, computed } from &#39;vue&#39;; let tableData = [ // 假设这里有一系列对象组成的数组作为原始数据源... ]; let currentPage = ref(1); // 当前页面索引,默认第一页 let pageSize = ref(10); // 默认每页显示记录数量 function handleSizeChange(val) { console.log(`每页 ${val} 条`); pageSize.value = val; // 更新每页大小 } function handleCurrentChange(val) { console.log(`当前页: ${val}`); currentPage.value = val; // 更新当前页码 } // 计算属性用于获取当前应显示的数据子集 const paginatedData = computed(() => { const start = (currentPage.value - 1) * pageSize.value; const end = start + pageSize.value; return tableData.slice(start, end); }); </script> ``` 上述代码片段实现了基础的分页逻辑,并且允许用户调整每页显示多少项以及跳转到指定页数。`el-pagination` 组件提供了丰富的选项来自定义分页栏的行为和外观,比如设置不同的 `layout` 参数可以改变分页栏内各元素的位置排列方式;而通过监听 `@size-change` 及 `@current-change` 事件则可响应用户的交互操作,从而更新视图中的数据显示范围[^2]。 此外,在实际开发过程中还可以进一步增强该分页组件的功能特性,例如支持自动滚动回顶部、提供更灵活的布局定制能力等高级选项[^3]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值