el-table自定义表头---亲测有效

如果熟悉react写法,便不需要使用那种麻烦的属性声明的方式。

  <el-table-column
        v-for="item in tableLabel"
        :key="item.value"
        :formatter="item.formatter"
        show-overflow-tooltip
        :min-width="item.width"
        :label="item.label"
        :render-header="RenderHeader"
        :sortable="item.sortable"
        :sort-orders="['ascending', 'descending']"
        
      />

在这里声明了自定义渲染函数的方法RenderHeader

 RenderHeader(h, { column, $index }) {
      const function_index = ['0', '1', '2', '3', '4', '5', '6', '7', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '71']
      const arr = function_index.map(v => {
        const obj = {}
        obj.label = funcCode[v]
        obj.value = v
        return obj
      })
      return (
        <span>
          {$index === 0 ? (<span>ID</span>) :
           $index === 1 ?(<span>终端编码</span>) :
           $index === 2
            ? (<el-select placeholder='请选择功能' clearable onChange={(val) => {
              this.$emit('changeFNCcode', val)
            }} v-model={this.value}>{arr.map(item => <el-option key={item.value} label=       {item.label} value={item.value}></el-option>)}</el-select>)
             : (<span>时间</span>)}
        </span>

      )
    }

注意–里面下拉框的渲染,就是和在react中的写法一样,其实vue与react的h函数都是createElement,所以才可以这样写。
这里面是不支持vue的v-for v-if @change的语法
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值