<template>
<!-- 注意要包一层div根元素,否则css样式可能会不生效,原因不详 -->
<div>
<el-table ref="taskTableRef" :data="tableData" style="width: 100%" @select="selectClick">
<el-table-column type="selection" width="55" />
<el-table-column prop="name" label="元气少女缘结神" />
</el-table>
</div>
</template>
<script setup lang='ts'>
import { ref, reactive, toRefs } from 'vue'
const taskTableRef = ref(); // 表格ref
// 变量定义
const state = reactive({
tableData: [{
name: '巴卫'
},
{
name: '奈奈生'
},
{
name: '电灯泡'
}],
});
// 主要方法
// table选择项发生变化时会触发该事件
const selectClick = (selection: any, row: any) => {
if (selection.length > 1) {
let del_row = selection.shift();
taskTableRef.value.toggleRowSelection(del_row, false); // 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)
}
}
const { tableData } = {
...toRefs(state),
};
</script>
<style scoped lang='scss'>
// 隐藏全选按钮
:deep(.el-table th.el-table__cell:nth-child(1) .cell) {
visibility: hidden;
}
</style>
ElementPlus Table表格实现单选
于 2023-06-26 09:34:16 首次发布