当前位置:   article > 正文

el-table实现表格整行选中状态,背景颜色切换

el-table实现表格整行选中状态,背景颜色切换

 

  1. <el-table :data="tableData" @row-click="handleRowClick" :rowClassName="tableRowClassName"
  2. :header-row-style="{color:'#333',fontWeight:'bold',fontSize:'14px'}" style="width: 100%">
  3. <el-table-column
  4. prop="totalPrice"
  5. label="现金总额">
  6. </el-table-column>
  7. <el-table-column
  8. prop="createTime"
  9. label="注册时间">
  10. <template slot-scope="scope">
  11. <div>
  12. <el-switch"
  13. v-model="scope.row.experienceFlag"
  14. >
  15. </el-switch>
  16. </div>
  17. </template>
  18. </el-table-column>
  19. <el-table-column
  20. prop="address"
  21. label="消费签名时间">
  22. <template slot-scope="scope">
  23. <div>
  24. {{ scope.row.dateFlag?'限制':'不限制' }}
  25. </div>
  26. </template>
  27. </el-table-column>
  28. <el-table-column
  29. prop="address"
  30. label="员工">
  31. </el-table-column>
  32. <el-table-column
  33. prop="categoryName"
  34. label="获客渠道">
  35. </el-table-column>
  36. <el-table-column
  37. label="选择">
  38. <template slot-scope="scope">
  39. <div>
  40. <svg-icon iconClass="praise" v-show="scope.$index!=tableRowIndex" class="icons praise verticalMiddle" ></svg-icon>
  41. <span class="el-icon-check checkValTable" v-show="scope.$index==tableRowIndex"></span>
  42. </div>
  43. </template>
  44. </el-table-column>
  45. </el-table>
  1. <script>
  2. export default{
  3. data(){
  4. return{
  5. tableData:[],
  6. tableRowIndex:'-1'
  7. }
  8. },
  9. methods:{
  10. //选择行
  11. handleRowClick(row,rowIndex){
  12. //获取选择行的下标
  13. console.log(rowIndex);
  14. this.tableRowIndex=this.getArrayIndex(this.tableData,row)
  15. console.log('tableRowIndex');
  16. console.log(this.tableRowIndex);
  17. this.tableRowClassName(row,this.tableRowIndex);
  18. },
  19. //最终与下方获取到的数组下标,与选中的下标对比,若相等则将指定行增加highLight-row类名
  20. tableRowClassName({row,rowIndex}){
  21. if(rowIndex==this.tableRowIndex){
  22. return 'highlight-row'
  23. }
  24. },
  25. getArrayIndex(arr,obj){
  26. var i=arr.length;
  27. //循环获取所选行的数据与表格列表数组的某个下标数据是否相等
  28. //若相等返回下标
  29. while(i--){
  30. if(arr[i]===obj){
  31. return i;
  32. }
  33. }
  34. return -1;
  35. },
  36. }
  37. }
  38. </script>

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

闽ICP备14008679号