• vue使用element-ui中el-table实现点击表头或点击一列选中全列的功能


    现在有这么个需求,点击表格一列的表头或其中一列,选中全列,ux如下,默认选第一列

     

     直接上代码

    <!--表格-->
    <el-table
      :data="tableData"
      @cell-click="(row, column) => handleClick({column})">
      <el-table-column
        v-for="(item,i) in columnList"
        :key="i"
        :prop="item.prop"
        :class-name="item.current ? 'cellSelected' : ''">
        <template #header="data">
          <div @click="handleClick(data)">{{ item.prop }}</div>
        </template>
      </el-table-column>
    </el-table>

    js部分

    export default {
      data() {
        return {
          columnList: [
            { current: true, prop: 'name' },
            { current: false, prop: 'age' },
            { current: false, prop: 'tall' },
            { current: false, prop: 'class' }
          ],
          tableData: [
            { name: '张三丰', age: 32, tall: 176, class: 4 },
            { name: '张翠山', age: 22, tall: 176, class: 3 },
            { name: '张无极', age: 12, tall: 176, class: 2 },
          ]
        };
      },
      methods: {
        handleClick({ column }) {
          this.columnList.forEach(item => {
            if (item.prop === column.property) {
              item.current = true;
            } else {
              item.current = false;
            }
          });
        },
      }
    };

    css部分

    .cellSelected {
      border-color: #409EFF !important;
      border-left:1px solid;
      border-right:1px solid;
      background: #ecf5ff !important;
      color: #409EFF !important;
      font-weight: 600;
    }
    th.cellSelected {
      border-top:1px solid;
    }

    后面如果想要获取整列的值,可以通过prop值去table的数据数组里取

  • 相关阅读:
    C++中const变量使用注意
    const对象调用static成员函数
    Error in startup script: value for " " missing
    check tcl version
    socket
    grid pack
    mouse bind
    gesture
    pixel
    open
  • 原文地址:https://www.cnblogs.com/bobo1/p/15431852.html
Copyright © 2020-2023  润新知