如何在 Vue3 中使用 Element Plus 获取表格(el-table)中当前行的索引 index?
时间: 2024-11-18 12:16:21 浏览: 48
vue3 el-table多级表头收缩扩展的实现(JS原味版)
在 Vue3 中使用 Element Plus 的表格组件 `el-table` 获取当前行的索引(index),你可以通过监听 `@row-click` 或者 `@current-change` 事件来获取。这两个事件分别会在点击行和切换当前行时触发。
以下是步骤:
1. 首先,在你的模板上绑定这两个事件处理函数:
```html
<template>
<el-table :data="tableData" @row-click="handleRowClick" @current-change="handleCurrentChange">
<!-- table columns... -->
</el-table>
</template>
```
2. 然后在对应的 script 标签里定义这两个函数:
```javascript
<script setup>
import { ref } from 'vue';
import { ElTable } from 'element-plus';
const tableData = // 假设这是你的表格数据源
const rowIndexRef = ref(0); // 表格当前行的索引
// handleRowClick 函数
function handleRowClick({ event, row }) {
rowIndexRef.value = Array.from(event.$event.target.parentNode.children).indexOf(row.$index);
}
// handleCurrentChange 函数 (当表格的当前行发生变化)
function handleCurrentChange(currentIndex) {
rowIndexRef.value = currentIndex;
}
</script>
```
现在,`rowIndexRef.value` 就会保存当前行的索引了。你可以通过 `rowIndexRef` 来访问或操作这个值。
阅读全文