0


element-ui自定义表头;el-table自定义表头;render-header自定义表头

自定义表头有两种方式:一种是使用render-header 一种是通过设置 Scoped slot 来自定义表头

一、render-header方式

场景:给表头设置自定义按钮,点击时候 批量下载或做其他事件
在这里插入图片描述

给当前的那列设置 :render-header

<el-table-column align="center":render-header="(h, obj) => renderHeader(h, obj, '你的参数')" width="155"><template slot-scope="scope"></template></el-table-column>

methods设置事件

// 自定义表头
    renderHeader (h,{ column, $index }, type){
      console.log('列表加载就会触发', h,{ column, $index }, type)let that =this// 逻辑是 h() 括号里包裹标签 第一个参数是标签名 第二个是属性  第三个是标签内容  如果是多个标签需要包裹数组returnh(
        'div',[// 列名称h('span', column.label),// 按钮h('el-button',{
          props:{
            type: 'primary',size: 'small',},style: 'color:#fff;',// class: "{ active: showSelectMore }",// class: 'className',on:{// 各种事件触发
            click: function (){
              that.clickButton(type)}}}, '批量下载保单发票')],)},// 按钮点击事件
    clickButton (type){
      console.log('我点击了' + type + '的列')// this.downLoad()},

二、Scoped slot 方式

element-ui自定义表头链接

注意:el-table-column需要去掉label和prop属性 然后使用插槽 slot这里是引用
在这里插入图片描述

三、实例:多选

在这里插入图片描述

<el-table-column width="120"><template slot="header" slot-scope="scope"><!-- 必须有这个scope 否则多选框不渲染 --><span>退回保费凭证</span><el-checkbox v-model="allCheckFlag" @change="changeAllsect($event)"></el-checkbox></template><template slot-scope="scope"><span style="display: inline-block;float: right;margin-top:15px;"><el-checkbox v-model="scope.row.selectUploadFlag" @change="changeSelect"></el-checkbox></span></template></el-table-column>changeAllsect(event){
      console.log(event)
      this.$nextTick(()=>{
        this.allCheckFlag = event
      })if(this.allCheckFlag){
        this.tableData2.forEach(ele =>{
          ele.selectUploadFlag = true
        })}else{
        this.tableData2.forEach(ele =>{
          ele.selectUploadFlag = false
        })}},changeSelect(){
      let flag = false
      this.tableData2.forEach(ele =>{if(ele.selectUploadFlag){
          flag = true
        }})// 当没有一个是选中时候 清空最上方选中if(flag == false){
        this.allCheckFlag = false
      }},
标签: ui javascript vue.js

本文转载自: https://blog.csdn.net/i_am_a_div/article/details/126885629
版权归原作者 i_am_a_div_日积月累_ 所有, 如有侵权,请联系我们删除。

“element-ui自定义表头;el-table自定义表头;render-header自定义表头”的评论:

还没有评论