element-plus表格操作

elememt-plus安装见上文

表格的特性

element-plus中的表格和原版表格最大的不同是写法不同,原版表格以行的方式写,element-plus以列的方式写。

element-plus的表格可以更方便的展示数据,只需要考虑数据的格式即可。

表格标签

表格标签有两种,el-table 和 el-table-column,分别代表表格本身和表格的列。这里表格不需要定义有多少行,网页会根据给定的数据自动生成行。

javascript 复制代码
<template> 
<el-table>
  <el-table-column></el-table-column>
</el-table>
</template>  
  
<script lang="ts" setup>  

</script>  

效果:

表格属性

elementplus的表格有很多属性,el-table的属性有比如承载数据的:data属性,控制样式的border属性,stripe属性等。

el-table-column中也有定义表头的label,承载字段的prop等。

javascript 复制代码
<template> 
<el-table :data="userList" border><!-- 这里为表格加了边框 -->
  <el-table-column label="ID" prop="id"></el-table-column>
  <el-table-column label="ID" prop="name"></el-table-column>
  <el-table-column label="ID" prop="hobby"></el-table-column>
  <el-table-column label="ID" prop="age"></el-table-column>
</el-table>
</template>  

<script lang="ts" setup>  

import { onMounted, ref } from 'vue'
const userList = ref([])
const getUserList = () => {
  //将来会修改为从数据库中获取数据
  const data = [{
    id: 1,
    name: 'Tom',
    hobby: 'play Jerry',
    age: 8
  }, {
    id: 2,
    name: 'Jerry',
    hobby: 'play Spike',
    age: 7
  }, {
    id: 3,
    name: 'Spike',
    hobby: 'play Tom',
    age: 6
  }]

  userList.value = data
}
onMounted(() => getUserList())
</script>  

效果如下:

表格有很多属性,可以实现各种表格样式展示数据和美化网页,具体属性可以访问官网查看。

插槽

template标签 #default是标签的分类,scope代表拿到的数据是父组件传递给子组件插槽的所有上下文数据。使用scope.row 获取整行数据,再通过事件触发方法就可以获取这一行数据的复制了。

javascript 复制代码
<template>
  <el-table :data="userList" border>、
    <el-table-column label="ID" prop="id"></el-table-column>
    <el-table-column label="ID" prop="name"></el-table-column>
    <el-table-column label="ID" prop="hobby"></el-table-column>
    <el-table-column label="ID" prop="age"></el-table-column>
    <el-table-column>
      <template #default="scope">
        <el-button type="primary" @click="handleEdit(scope.row)">编辑</el-button>
        <el-button type="danger" @click="handleDelete(scope.row)">删除</el-button>
      </template>
    </el-table-column>
  </el-table>
</template>
相关推荐
文心快码BaiduComate2 分钟前
文心快码3.5S全新升级,体验多智能体协同开发,最高赢无人机!
前端·后端·程序员
安卓开发者7 分钟前
鸿蒙Next ArkWeb进程解析:多进程架构如何提升Web体验
前端·架构·harmonyos
炒毛豆9 分钟前
移动端响应式px转换插件PostCSS的使用~
前端·javascript·postcss
羊羊小栈16 分钟前
基于「YOLO目标检测 + 多模态AI分析」的PCB缺陷检测分析系统(vue+flask+数据集+模型训练)
vue.js·人工智能·yolo·目标检测·flask·毕业设计·大作业
Swift社区16 分钟前
为什么 socket.io 客户端在浏览器能连上,但在 Node.js 中报错 transport close?
javascript·node.js
恋猫de小郭29 分钟前
Flutter Riverpod 3.0 发布,大规模重构下的全新状态管理框架
android·前端·flutter
wordbaby30 分钟前
用 window.matchMedia 实现高级响应式开发:API 全面解析与实战技巧
前端·javascript
薄雾晚晴35 分钟前
Rspack 实战,构建流程升级:自动版本管理 + 命令行美化 + dist 压缩,一键输出生产包
前端·javascript
huabuyu39 分钟前
在 Taro 小程序中实现完整 Markdown 渲染器的实践
前端
Running_slave41 分钟前
位运算左移右移应该怎么玩?
前端·javascript·算法