element_Plus中表格和分页的使用

HTML

表格(:data="filterData"绑定的数据)

复制代码
<el-table ref="multipleTableRef" :data="filterData" style="width: 100%"
                @selection-change="handleSelectionChange">

                <el-table-column type="selection" width="55" />

                <el-table-column property="question" label="问题" width="200">
                    
                </el-table-column>
                <el-table-column property="answer" label="答案" width="200" />        
</el-table>

分页

复制代码
<el-pagination
      v-model:current-page="currentPage4"
      v-model:page-size="pageSize4"
      :page-sizes="[100, 200, 300, 400]"
      :small="small"
      :disabled="disabled"
      :background="background"
      layout="total, sizes, prev, pager, next, jumper"
      :total="tableData.length"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
    />
  </div>

//:total="tableData.length"总数据长度

js

复制代码
<script lang="ts" setup>

import { ref } from 'vue'

//原始数据
const tableData = reactive([
    {
        question: '问题01',
        answer: '答案01',
        classify: '分类01',
        state: '生效01',
    },
    {
        question: '问题02',
        answer: '答案02',
        classify: '分类02',
        state: '生效02',
    },
])



let filterData: any = reactive([])   // 过滤后的数据,用于绑定分页
filterData = tableData.slice(0, 10)  //重新赋值加载十条数据,避免加载没有数据,或数据过长

const currentPage4 = ref(4)  //当前在第几个分页
const pageSize4 = ref(10)    //:page-sizes="[10, 20, 30, 40]" 默认每页展示几条数据
const small = ref(false)
const disabled = ref(false)
const background = ref(false)

// 点击每页显示多少触发的函数  
const handleSizeChange = (val: number) => {

    //把需要展示的数据替换为截取的数据
    filterData = tableData.slice(0, val)
}

// 点击前往第几页触发的函数
const handleCurrentChange = (val: number) => {

     //把需要展示的数据替换为截取的数据
    filterData = tableData.slice(10*(val-1),val*10)
}

</script>

Pagination 分页 | Element Plus (element-plus.org)

相关推荐
xifangge202519 分钟前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript
wangruofeng1 小时前
2026 Web 技术选型指南,AI 时代如何选择适合项目的技术栈
前端·aigc·ai编程
honkun61 小时前
vue 表格组件 vxe-table 修改滚动条样式,修改滚动条样式,统一宽度、颜色与自动隐藏
前端·javascript·vue.js
爱勇宝1 小时前
研究数字孪生的这半年,做了个 Demo,也有了一些新想法
前端·程序员
不可能片场1 小时前
工程实践 一个缓存把选片从十分钟压到一分钟
前端·electron
前端小万1 小时前
探索副业五个月,最终以放弃告终
前端·后端·面试
FRing032 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
171320330计算机毕设编程2 小时前
计算机毕业设计 基于springboot+vue的在线观鸟视频播放网站 LW PPT
java·大数据·vue.js·spring boot·算法·课程设计
葡萄城技术团队2 小时前
在 SpreadJS 里新增右键菜单,把业务动作放到用户手边
前端
大明二代2 小时前
从 RAG 到有记忆的 Agent:Mastra Memory 与 PostgreSQL 实战
前端·javascript·人工智能