【区分vue2和vue3下的element UI Table 表格组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 和 Vue 3 中,Element UI 和 Element Plus 分别提供了 Table 表格组件。下面我将分别介绍这两个版本下表格组件的属性、事件和方法,并给出使用示例。

Vue 2 + Element UI Table

属性 (Attributes)

data: 表格数据,类型为数组。

columns: 列的描述数据对象,类型为数组。

border: 是否带有纵向边框。

stripe: 是否为斑马纹表格。

fit: 列的宽度是否自撑开。

highlight-current-row: 是否要高亮当前行。

事件 (Events)

selection-change: 当用户选择行发生变化时会触发该事件。

cell-click: 当某个单元格被点击时会触发该事件。

row-click: 当某一行被点击时会触发该事件。

方法 (Methods)

Element UI 的 Table 组件没有直接暴露太多方法,但你可以通过引用 (ref) 访问 Vue 实例,并调用 Vue 的内置方法。

示例

vue

<el-table

:data="tableData"

style="width: 100%"

@selection-change="handleSelectionChange"

复制代码
<el-table-column  
  type="selection"  
  width="55"  
>  
</el-table-column>  
<el-table-column  
  prop="date"  
  label="日期"  
  width="140"  
>  
</el-table-column>  
<el-table-column  
  prop="name"  
  label="姓名"  
  width="120"  
>  
</el-table-column>  

Vue 3 + Element Plus Table

属性 (Attributes)

data: 表格数据,类型为数组。

columns: 列的描述数据对象,类型为数组。

border: 是否展示纵向边框。

stripe: 是否为斑马线表格。

fit: 列的宽度是否自撑开。

highlight-current-row: 是否要高亮当前行。

事件 (Events)

selection-change: 当选中项发生变化时会触发该事件。

cell-click: 当某个单元格被点击时会触发该事件。

row-click: 当某一行被点击时会触发该事件。

方法 (Methods)

与 Element UI 类似,Element Plus 的 Table 组件也没有直接暴露很多方法,但你可以通过 ref 访问 Vue 3 的组件实例,并使用 Vue 3 的 Composition API 进行操作。

示例 (使用 Composition API)

vue

<el-table

:data="tableData"

style="width: 100%"

@selection-change="handleSelectionChange"

复制代码
<!-- 列定义与 Element UI 类似 -->  

在 Vue 3 中,使用

总的来说,Element UI 和 Element Plus 的 Table 组件在属性和事件方面非常相似,主要的区别在于 Vue 2 和 Vue 3 的使用方式和语法差异。在 Vue 3 中,你更可能使用 Composition API 来组织你的代码,而在 Vue 2 中,你通常会使用 Options API。

相关推荐
Linsk11 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
swipe13 小时前
从 0 到 1 理解 React 虚拟列表:定高、不定高与 Canvas 版本完整拆解
前端·javascript·面试
铁皮饭盒13 小时前
Bun执行python代码
前端·javascript·后端
前端啊14 小时前
告别 el-table 打印难题,vue3-print-el-table 来了!
前端·vue.js
zzzzzz31015 小时前
当甲方说'logo放大的同时再缩小一点'时,我用 AI 把这个需求做出来了
javascript·css·程序员
AprChell15 小时前
低代码设计器和低代码设计引擎架构综述
前端·vue.js·低代码
Ruihong15 小时前
🎉 VuReact 1.9.0 发布,支持 Vue 3.4 defineModel 编译到 React
vue.js·react.js·面试
Hilaku16 小时前
Node.js 还能再战十年?给你一个不换引擎的理由
前端·javascript·程序员
英勇无比的消炎药16 小时前
TinyRobot 源码深度分析:OpenTiny 的 AI 对话组件库
前端·vue.js·github
weedsfly16 小时前
前端必知必会:从 IIFE 到 ESM,模块化到底在解决什么?
前端·javascript