当前位置:   article > 正文

点击《el-table》让选中的行变色,亲测实用_el-table选中行变色

el-table选中行变色

9a69fede8b2044a79dd834e3e48f20b4.png前期回顾    89a5d93bcce94f7cbe42539567637cb3.gif 

Vue项目实战 —— 哔哩哔哩移动端开发_0.活在风浪里的博客-CSDN博客撑着下班前半小时我用vue写《哔哩哔哩 项目》移动端、新手还在哭、老鸟一直在笑。。。技术选型Vue2,技术栈有axios、Vh等,下班过来敲哈哈https://blog.csdn.net/m0_57904695/article/details/123594836

公司各种需求又来了,直接看下面文吧,一看就懂就不在说需求了 ,此时我觉得我的表情包是【我就像是一个小朋友站在路标下满头的问号】

 db0764c8e6c045d2a6d0ba3cb06a63ed.gif

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_6,color_FFFFFF,t_70,g_se,x_16

目录

第一种选中复选框表格变色

 效果图:

第二种 点击行 表格变色 + 鼠标经过无hover效果

 效果图:

第三种  鼠标经过自定义hover颜色效果

 效果图:

第四种  点击某一事件表格背景色 变化

  效果图:

 结语:


       @selection-change="selected" 复选框被选中的触发事件

       @row-click="rowClickEv" 某一行被点击行触发事件

       :row-style="isRed" 行的 style 的回调方法,也可以使用一个固定的 Object 为所有 

       行设置一样的 Style。  

第一种选中复选框表格变色

 效果图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_20,color_FFFFFF,t_70,g_se,x_16

  1. <template>
  2. <div id="">
  3. <el-table
  4. :data="tableData"
  5. style="width: 100%"
  6. :row-style="isRed"
  7. @selection-change="selected"
  8. >
  9. <el-table-column type="index" label="序号" width="80"> </el-table-column>
  10. <el-table-column type="selection" width="50"> </el-table-column>
  11. <el-table-column prop="date" label="日期" width="220"> </el-table-column>
  12. <el-table-column prop="name" label="姓名" width="120"> </el-table-column>
  13. <el-table-column prop="address" label="年龄" width="240">
  14. </el-table-column>
  15. </el-table>
  16. </div>
  17. </template>
  18. <script>
  19. export default {
  20. name: "",
  21. data() {
  22. return {
  23. selectedArrData: [], // 把选择到的当前行的id存到数组中
  24. tableData: [
  25. {
  26. date: "2016-05-02",
  27. name: "王小虎",
  28. address: "上海市普陀区金沙江路 1518 弄",
  29. id: "1",
  30. },
  31. {
  32. date: "2016-05-04",
  33. name: "王小虎",
  34. address: "上海市普陀区金沙江路 1517 弄",
  35. id: "2",
  36. },
  37. {
  38. date: "2016-05-01",
  39. name: "王小虎",
  40. address: "上海市普陀区金沙江路 1519 弄",
  41. id: "3",
  42. },
  43. {
  44. date: "2016-05-03",
  45. name: "王小虎",
  46. address: "上海市普陀区金沙江路 1516 弄",
  47. id: "4",
  48. },
  49. ],
  50. };
  51. },
  52. methods: {
  53. // 复选框被选中的事件
  54. selected(row) {
  55. // console.log(row);//点击的那行数据
  56. this.selectedArrData = row;
  57. },
  58. isRed({ row }) {
  59. const checkIdList = this.selectedArrData.map((item) => item.id);
  60. if (checkIdList.includes(row.id)) {
  61. return {
  62. backgroundColor: "#DE6",
  63. color: "red",
  64. };
  65. }
  66. },
  67. },
  68. };
  69. </script>

第二种 点击行 表格变色 + 鼠标经过无hover效果

 效果图:

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_20,color_FFFFFF,t_70,g_se,x_16

  1. <template>
  2. <div id="">
  3. <el-table
  4. :data="tableData"
  5. style="width: 100%"
  6. :row-style="isRed"
  7. @row-click="rowClickEv"
  8. border
  9. >
  10. <el-table-column type="index" label="序号" width="80"> </el-table-column>
  11. <el-table-column type="selection" width="50"> </el-table-column>
  12. <el-table-column prop="date" label="日期" width="220"> </el-table-column>
  13. <el-table-column prop="name" label="姓名" width="120"> </el-table-column>
  14. <el-table-column prop="address" label="年龄" width="240">
  15. </el-table-column>
  16. </el-table>
  17. </div>
  18. </template>
  19. <script>
  20. export default {
  21. name: "",
  22. data() {
  23. return {
  24. selectedArrData: [], // 把选择到的当前行的id存到数组中
  25. tableData: [
  26. {
  27. date: "2016-05-02",
  28. name: "王小虎",
  29. address: "上海市普陀区金沙江路 1518 弄",
  30. id: "1",
  31. },
  32. {
  33. date: "2016-05-04",
  34. name: "王小虎",
  35. address: "上海市普陀区金沙江路 1517 弄",
  36. id: "2",
  37. },
  38. {
  39. date: "2016-05-01",
  40. name: "王小虎",
  41. address: "上海市普陀区金沙江路 1519 弄",
  42. id: "3",
  43. },
  44. {
  45. date: "2016-05-03",
  46. name: "王小虎",
  47. address: "上海市普陀区金沙江路 1516 弄",
  48. id: "4",
  49. },
  50. ],
  51. };
  52. },
  53. methods: {
  54. // 某一行被点击行触发事件,默认形参代表一整行数据
  55. rowClickEv(row) {
  56. // console.log(row);//点击的那行数据默认是对象{__ob__: Observer},将其转数组
  57. this.selectedArrData = [row];
  58. },
  59. isRed({ row }) {
  60. const checkIdList = this.selectedArrData.map((item) => item.id);
  61. if (checkIdList.includes(row.id)) {
  62. return {
  63. backgroundColor: "#DE6",
  64. color: "red",
  65. };
  66. }
  67. },
  68. },
  69. };
  70. </script>
  71. <style lang="scss" scoped>
  72. // 修改鼠标经过表格的颜色
  73. /deep/ .el-table tbody tr:hover > td {
  74. // background-color: rebeccapurple !important;
  75. // color: #ffffff;
  76. // 可以选择隐藏
  77. background-color: transparent !important;
  78. }
  79. </style>

第三种  鼠标经过自定义hover颜色效果

 效果图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_20,color_FFFFFF,t_70,g_se,x_16

第四种  点击某一事件表格背景色 变化

  效果图:

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAMC7mtLvlnKjpo47mtarph4w=,size_20,color_FFFFFF,t_70,g_se,x_16

  1. <template>
  2. <div id="">
  3. <el-table
  4. :data="tableData"
  5. style="width: 100%"
  6. :row-style="isRed"
  7. border
  8. >
  9. <!--
  10.     @selection-change="selected" 复选框被选中的触发事件
  11.       @row-click="rowClickEv" 某一行被点击行触发事件
  12.      :row-style="isRed" 行的 style 的回调方法,也可以使用一个固定的 Object 为所有 
  13.       行设置一样的 Style。  
  14. -->
  15. <el-table-column type="index" label="序号" width="80"> </el-table-column>
  16. <el-table-column type="selection" width="50"> </el-table-column>
  17. <el-table-column prop="date" label="日期" width="220"> </el-table-column>
  18. <el-table-column prop="name" label="姓名" width="120"> </el-table-column>
  19. <el-table-column prop="address" label="年龄" width="240">
  20. </el-table-column>
  21. <el-table-column label="操作">
  22. <template slot-scope="scope">
  23. <!--(scope.$index, scope.row) 下标和行 -->
  24. <el-button size="mini" @click="handleEdit(scope.$index, scope.row)"
  25. >编辑</el-button
  26. >
  27. </template>
  28. </el-table-column>
  29. </el-table>
  30. </div>
  31. </template>
  32. <script>
  33. export default {
  34. name: "",
  35. data() {
  36. return {
  37. selectedArrData: [], // 把选择到的当前行的id存到数组中
  38. tableData: [
  39. {
  40. date: "2016-05-02",
  41. name: "王小虎",
  42. address: "上海市普陀区金沙江路 1518 弄",
  43. id: "1",
  44. },
  45. {
  46. date: "2016-05-04",
  47. name: "王小虎",
  48. address: "上海市普陀区金沙江路 1517 弄",
  49. id: "2",
  50. },
  51. {
  52. date: "2016-05-01",
  53. name: "王小虎",
  54. address: "上海市普陀区金沙江路 1519 弄",
  55. id: "3",
  56. },
  57. {
  58. date: "2016-05-03",
  59. name: "王小虎",
  60. address: "上海市普陀区金沙江路 1516 弄",
  61. id: "4",
  62. },
  63. ],
  64. };
  65. },
  66. methods: {
  67. // 编辑事件
  68. handleEdit(index,row) {
  69. this.selectedArrData = [row];
  70. },
  71. // 操作表格变色
  72. isRed({ row }) {
  73. const checkIdList = this.selectedArrData.map((item) => item.id);
  74. if (checkIdList.includes(row.id)) {
  75. return {
  76. backgroundColor: "#DE6",
  77. color: "red",
  78. };
  79. }
  80. },
  81. },
  82. };
  83. </script>
  84. <style lang="scss" scoped>
  85. // 修改鼠标经过表格的颜色
  86. /deep/ .el-table tbody tr:hover > td {
  87. // background-color: rebeccapurple !important;
  88. // color: #ffffff;
  89. // 可以选择隐藏
  90. background-color: transparent !important;
  91. }
  92. </style>

 结语:

       最后祝大家都可以早早下班,早早回家,不为bug而烦恼,

,如果对你有微乎帮助,请点个收藏以备找时方便

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

闽ICP备14008679号