当前位置:   article > 正文

el-table被点击行添加背景颜色_element plus el-table如何点击哪列改变那列背景颜色

element plus el-table如何点击哪列改变那列背景颜色

在 Element UI 的 el-table 组件中,你可以通过使用行样式 row-style 属性来为被点击的行添加颜色。首先,你需要在数据中定义一个对象来存储被点击行的索引,然后在 row-style 函数中根据这个索引来返回不同的样式。

以下是一个示例:

  1. <template>
  2. <el-table
  3. :data="tableData"
  4. @row-click="handleRowClick"
  5. :row-style="rowStyle">
  6. <el-table-column
  7. v-for="(item, index) in tableColumns"
  8. :key="index"
  9. :prop="item.prop"
  10. :label="item.label"
  11. :width="item.width">
  12. </el-table-column>
  13. </el-table>
  14. </template>
  15. <script>
  16. export default {
  17. data() {
  18. return {
  19. tableData: [
  20. { id: 1, name: '张三', age: 18 },
  21. { id: 2, name: '李四', age: 20 },
  22. { id: 3, name: '王五', age: 22 },
  23. ],
  24. tableColumns: [
  25. { prop: 'id', label: 'ID', width: 180 },
  26. { prop: 'name', label: '姓名', width: 180 },
  27. { prop: 'age', label: '年龄', width: 180 },
  28. ],
  29. activeRowIndex: null, // 存储被点击行的索引
  30. };
  31. },
  32. methods: {
  33. handleRowClick(row, event, column) {
  34. this.activeRowIndex = row.id; // 假设每行都有一个唯一的 id
  35. },
  36. rowStyle({ row, rowIndex }) {
  37. if (this.activeRowIndex === row.id) {
  38. return { backgroundColor: '#f0f9eb' }; // 返回被点击行的样式
  39. }
  40. return {}; // 返回其他行的默认样式
  41. },
  42. },
  43. };
  44. </script>

在这个示例中,我们定义了一个 activeRowIndex 数据属性来存储被点击行的 id。当行被点击时,handleRowClick 方法会被调用,并将被点击行的 id 存储在 activeRowIndex 中。row-style 函数会为每一行返回一个样式对象,如果当前行的 id 与 activeRowIndex 匹配,那么这行就会应用背景色 #f0f9eb,否则返回一个空对象,表示不应用任何特殊样式。

请注意,这个示例假设每行数据都有一个唯一的 id 属性。如果你的数据没有 id,你可以使用其他唯一标识符,或者直接使用 rowIndex。但是,如果数据会动态变化(例如排序或过滤),使用 rowIndex 可能会导致问题,因为它不会随着数据的改变而更新。

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

闽ICP备14008679号