用Vue基础语法可实现可控可调试的分页表格:定义currentPage、pageSize、total、tableData响应式状态;通过计算属性用slice动态截取allData生成当前页数据;v-model绑定页码与每页条数,@current-change和@size-change触发数据更新;表格用v-for渲染并设唯一key。
用 Vue 基础语法实现带分页的表格组件,核心是把“数据获取”“页码控制”“渲染逻辑”三块拆清楚,不依赖第三方 UI 库也能跑通。关键不是写得多,而是每一步都可控、可调试。
先在 data 中定义必需的状态变量:当前页码、每页条数、总条数、表格数据数组。这些必须是响应式的,Vue 才能自动更新视图。
原始数据(比如从 API 拿到的全部列表)存在 allData 里,tableData 不直接赋值,而是通过计算属性动态截取:
这样改页码或改每页数量时,tableData 自动刷新,不用手动调用 render 方法。
使用原生 <el-pagination>(Element Plus)或手写简易分页按钮,都要绑定两个核心:
注意:如果数据是前端静态列表,改页码只需更新变量;如果是后端分页,这两个事件里要调用接口,传 currentPage 和 pageSize 参数。
表格主体用 v-for 遍历 tableData,每一行加 :key="item.id"(或唯一字段),避免复用错乱:
不需要额外封装复杂逻辑,基础语法足够支撑清晰、可维护的分页表格。