Vue 3 中 Element Plus Table(表格)点击获取对应 id

网上搜到的内容或许适用于 Vue 2 或 Element UI,不适用 Vue 3 和 Element Plus。

Template

<el-table-column label="配置" width="120" align="center">
  <template **v-slot="scope"**>
    <el-button link type="primary" size="small">编辑</el-button>
    <el-button link type="primary" @click="deleteNavigation(scope.row.id)" size="small">删除
    </el-button>
  </template>
</el-table-column>

Script

function deleteNavigation(id) {
  console.log(id);
}

使用 Vue 的 v-slot 指令,这个指令中是 Vue 2.6 新增的,取代了以前的 slot 和 slot-scope,而我使用的是 Vue 3,所以网上搜到的很多使用 slot-scope 的方法都失效了。

使用 插槽名.row 可以获取一行的内容,如果要获取行内的某一个字段的值,只需要再点出它的字段名,在我的代码里,就是 scope.row.id

如果要获取行的索引,使用 插槽名.$index,注意 $ 符号是必不可少的,否则将不起作用。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue表格勾选获取单行id,你可以在表格添加一个复选框列,并将每行的数据与该复选框绑定。当用户勾选复选框时,你可以将该行数据的id添加到一个选数据的数组。以下是一个简单的示例: 1. 在表格模板添加复选框列并绑定数据id: ``` <template> <table> <thead> <tr> <th></th> <th>Id</th> <th>Name</th> <th>Age</th> </tr> </thead> <tbody> <tr v-for="item in items" :key="item.id"> <td><input type="checkbox" v-model="item.checked" :value="item.id" @change="selectItem(item.id)"></td> <td>{{ item.id }}</td> <td>{{ item.name }}</td> <td>{{ item.age }}</td> </tr> </tbody> </table> </template> ``` 2. 在组件添加选数据的数组和勾选逻辑: ``` <script> export default { data() { return { items: [ { id: 1, name: 'Alice', age: 20, checked: false }, { id: 2, name: 'Bob', age: 25, checked: false }, { id: 3, name: 'Charlie', age: 30, checked: false }, ], selectedIds: [], }; }, methods: { selectItem(id) { if (this.selectedIds.includes(id)) { this.selectedIds = this.selectedIds.filter((i) => i !== id); } else { this.selectedIds.push(id); } }, }, }; </script> ``` 3. 将勾选逻辑绑定到复选框的`v-model`和`@change`指令: ``` <input type="checkbox" v-model="item.checked" :value="item.id" @change="selectItem(item.id)"> ``` 现在,每次用户勾选或取消勾选一个复选框时,`selectItem`方法将会更新`selectedIds`数组,其包含所有被选的行数据的id。你可以在需要获取单行id的地方使用`selectedIds`数组,例如在点击某个操作按钮时,只操作选的行数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值