当前位置:   article > 正文

修改 element中的el-table 表格组件的多选表格功能变为单选,且去除表头的多选框

修改 element中的el-table 表格组件的多选表格功能变为单选,且去除表头的多选框

(亲测可用)

这是element 中表格组件中的 多选 功能, 需要改成下图所标注的情况:

  1. 将element中的 table 表格 组件中的 多选 代码,拷贝到自己的前端项目中:
  1. <el-table
  2. ref="multipleTable"
  3. :data="tableData"
  4. tooltip-effect="dark"
  5. style="width: 100%"
  6. >
  7. <el-table-column
  8. type="selection"
  9. width="55">
  10. </el-table-column>
  11. <el-table-column
  12. label="日期"
  13. width="120">
  14. <template slot-scope="scope">{{ scope.row.date }}</template>
  15. </el-table-column>
  16. <el-table-column
  17. prop="name"
  18. label="姓名"
  19. width="120">
  20. </el-table-column>
  21. <el-table-column
  22. prop="address"
  23. label="地址"
  24. show-overflow-tooltip>
  25. </el-table-column>
  26. </el-table>

2. 去除 表头出行 多选的勾选框 : 

在 el-table 的标签中 加上样式 class = "table-style",从样式上隐藏 该全选的勾选框, 代码如下:

  1. <el-table
  2. class= "table-style"
  3. ref="multipleTable"
  4. :data="tableData"
  5. tooltip-effect="dark"
  6. style="width: 100%"
  7. >
  8. <el-table-column
  9. type="selection"
  10. width="55">
  11. </el-table-column>
  12. <el-table-column
  13. label="日期"
  14. width="120">
  15. <template slot-scope="scope">{{ scope.row.date }}</template>
  16. </el-table-column>
  17. <el-table-column
  18. prop="name"
  19. label="姓名"
  20. width="120">
  21. </el-table-column>
  22. <el-table-column
  23. prop="address"
  24. label="地址"
  25. show-overflow-tooltip>
  26. </el-table-column>
  27. </el-table>
  28. .
  29. .
  30. .
  31. .
  32. <-- 从样式上 隐藏 全选勾选框 -->
  33. <style lang="less">
  34. .table-style {
  35. .el-table-column--selection.is-leaf .el-checkbox {
  36. display: none;
  37. }
  38. }
  39. </style>

3. 将多选改为 单选 功能 : 

在el-table 的标签中重新定义 一个方法 @select="selectInfo" ,用于将单选功能实现, 代码如下:

  1. </template>
  2. <el-table
  3. class= "table-style"
  4. ref="multipleTable"
  5. :data="tableData"
  6. tooltip-effect="dark"
  7. style="width: 100%"
  8. @select="selectInfo">
  9. <el-table-column
  10. type="selection"
  11. width="55">
  12. </el-table-column>
  13. <el-table-column
  14. label="日期"
  15. width="120">
  16. <template slot-scope="scope">{{ scope.row.date }}</template>
  17. </el-table-column>
  18. <el-table-column
  19. prop="name"
  20. label="姓名"
  21. width="120">
  22. </el-table-column>
  23. <el-table-column
  24. prop="address"
  25. label="地址"
  26. show-overflow-tooltip>
  27. </el-table-column>
  28. </el-table>
  29. </template>
  30. <script>
  31. data() {
  32. return {
  33. multipleTable: "", //所选择的表格数据指向
  34. };
  35. },
  36. .
  37. .
  38. methods: {
  39. selectInfo(selection, row) {
  40. console.log(selection, row);
  41. // 清除 所有勾选项
  42. this.$refs.multipleTable.clearSelection();
  43. // 当表格数据都没有被勾选的时候 就返回
  44. // 主要用于将当前勾选的表格状态清除
  45. if (selection.length == 0) return;
  46. this.$refs.multipleTable.toggleRowSelection(row, true);
  47. },
  48. }
  49. <script>
  50. .
  51. .
  52. <-- 从样式上 隐藏 全选勾选框 -->
  53. <style lang="less">
  54. .table-style {
  55. .el-table-column--selection.is-leaf .el-checkbox {
  56. display: none;
  57. }
  58. }
  59. </style>

以上就全部处理完毕,可以实现从多选到单选了☺☺☺

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/460529
推荐阅读
相关标签