您的位置:首页 > 新闻 > 会展 > 网站建设制作宝塔面板_商城网站建设特点_媒介星软文平台_广州seo怎么做

网站建设制作宝塔面板_商城网站建设特点_媒介星软文平台_广州seo怎么做

2025/10/24 15:48:05 来源:https://blog.csdn.net/BillKu/article/details/146467508  浏览:    关键词:网站建设制作宝塔面板_商城网站建设特点_媒介星软文平台_广州seo怎么做
网站建设制作宝塔面板_商城网站建设特点_媒介星软文平台_广州seo怎么做

准备

定义数据

// 表格
const table = ref();
// 表格数据
import type { User } from "@/interface";
const tableData = ref<User[]>([]);
// 表格选集
const tableSelection = ref<User[]>([]);
// 表格选择行
const tableSelectedRow = ref<User>();

<template>:表格设置:隐藏表头全选框

<el-tableref="table":data="tableData":header-cell-class-name="handleHeaderCellClassName"@row-click="onTableRowClick"@selection-change="handleTableSelectionChange"><el-table-column type="selection" header-align="center" /><el-table-column prop="moniker" label="人员"><template #header><el-input v-model="search" :prefix-icon="Search"><template #prepend>人员</template></el-input></template></el-table-column>
</el-table>

<style scoped lang="scss">:

// 隐藏表头的全选框,el-table中需要设置 :header-cell-class-name="handleHeaderCellClassName"
::v-deep .hideCheckBox .cell {visibility: hidden;
}

<script>:

// 设置表格表头列的类名
const handleHeaderCellClassName = (row: any) => {// 隐藏表头的全选框,el-table中需要设置 :header-cell-class-name="handleHeaderCellClassName"// 通过设置类名hideCheckBox的样式实现,::v-deep .hideCheckBox .cell { visibility: hidden; }if (row.columnIndex === 0) {return "hideCheckBox";}
};

1、单选:

// 点击表格的行,实现单选
const onTableRowClick = (row: any, column: any) => {// 表格选集取消选中tableSelection.value.forEach((item) => {table.value.toggleRowSelection(item, false);});// 选中行table.value.toggleRowSelection(row, true);tableSelectedRow.value = row;
};

2、多选:

// 点击表格的行,实现单多选
const onTableRowClick = (row: any, column: any) => {// 如果点击的当前行在表格选集中,那么取消选中行,否则选中行if (tableSelection.value.includes(row)) {// 取消选中行table.value.toggleRowSelection(row, false);} else {// 选中行table.value.toggleRowSelection(row, true);}tableSelectedRow.value = row;
};

3、反选: 

// 反选
const onInverseSelectClick = () => {// 需选选集let needSelection: any = [];// 遍历表格数据tableData.value.forEach((data) => {// 已选行标识let rowSelected = false;// 遍历表格选集tableSelection.value.forEach((row) => {// 表格数据对象的 userName 值等于表格选集对象的 userName 值,说明该行已勾选,标识该行if (data.userName === row.userName) {rowSelected = true;// 退出当前表格选集循环return;}});// 将未选行对象加入需选选集if (!rowSelected) {needSelection.push(data);}});// 取消已选行tableSelection.value.forEach((row) => {table.value.toggleRowSelection(row, false);});// 勾选需选行,needSelection.forEach((row: any) => {table.value.toggleRowSelection(row, true);});
};

 4、全选:

// 全选
const onAllSelectClick = () => {// 全选table.value.toggleAllSelection();
};

效果:

单选

多选 

 

反选

 

全选

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com