定制化开发点击《el-table》让选中的行变色,亲测实用

前期回顾     

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

 ​​​​​​​

目录


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

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

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

       行设置一样的 Style。  

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

 效果图:

  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效果

 效果图:

 

  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颜色效果

 效果图:

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

  效果图:

 

  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而烦恼,

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

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发