el-table修改表头 多选时修改表头 自定义表头报错

el-table修改表头 自定义表头报错 多选时删除表头 修改表头

参考element文档 自定义表头 会报错

error: ‘scope’ is defined but never used (vue/no-unused-vars) at xxxxxx

  <template slot="header" slot-scope="scope">
    <el-input
      v-model="search"
      size="mini"
      placeholder="输入关键字搜索"/>
  </template>

在这里插入图片描述
一模一样的代码也会报错,好像是啥啥啥版本不对
解决方法:
在报错的这行代码上加行注释,取消eslint规范检索,就可以运行了
例:

 <!-- eslint-disable-next-line -->
 <template slot="header" slot-scope="slot">
        标题1
 </template>

完工

但是 如果你想用这种方法修改多选表格的列名 这样就啥也没用

令多选表格 多选列列名为空

在这里插入图片描述
如果你是单纯的不要表头上这个框框 让这一列的列名显示为空
那先给他设置一个className,然后令他display:none;就可以了
刚好el-table有一个属性:
header-cell-class-name 表头单元格的 className 的回调方法,也可以使用字符串为所有表头单元格设置一个固定的 className。
例:

 <el-table
                :data="researchCenterData"
                :header-cell-class-name="cellClass"
                border
                style="width: 100%"
            >
  //给第一列的列名加个class,名叫noneSelectHeader
         cellClass(row) {
            if (row.columnIndex === 0) {
                return 'noneSelectHeader'
            }
        },

接着 令他隐藏

// 打钩表头隐藏
.el-table .noneSelectHeader .cell {
    .el-checkbox {
        display: none;
    }
}

完工

令多选表格 多选栏 的列名改为自定义列名

那就直接修改dom结构吧

 <el-table
                ref="multipleTable"
                :data="researchCenterData"
                :header-cell-class-name="cellClass"
                border
                style="width: 100%"
            >
                <el-table-column type="selection" width="147">
                </el-table-column>
                <el-table-column></el-table-column>
                <el-table-column></el-table-column>
 </el-table>
date(){
        return {
researchCenterData: [
                {
                    date: '2016-05-02',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1518 弄'
                },
                {
                    date: '2016-05-04',
                    name: '王小虎',
                    address: '上海市普陀区金沙江路 1517 弄'
                }
              ]
            }
  created() {
  //选中表格的第2行第三行
        this.toggleSelection([
            this.researchCenterData[1],
            this.researchCenterData[2]
        ])
    },
methods: {
        toggleSelection(rows) {
            this.$nextTick(function() {
            //选中的那几行打钩
                if (rows) {
                    rows.forEach(row => {
                        this.$refs.multipleTable.toggleRowSelection(row)
                    })
                } else {
                //没有数据就不打钩
                    this.$refs.multipleTable.clearSelection()
                }
                this.addHeader()
            })
        },
          //给第一列的列名加个class,名叫noneSelectHeader
         cellClass(row) {
            if (row.columnIndex === 0) {
                return 'noneSelectHeader'
            }
        },
        addHeader() {
            //找到第一列的<div class="cell"><div>这个节点令他变为<div class="cell">自定义列名<div>
            var headerDom = document.getElementsByClassName('noneSelectHeader')
            var needDom = headerDom[0].firstChild
            needDom.innerHTML = '自定义列名'
        }
    }

结果:
在这里插入图片描述
完工

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值