vue 动态表头实现

HTML:

    <el-table
                        :header-cell-style="{'text-align':'center',background:'#e4e4e8',color:'#646E92'}"
                        :cell-style="{'text-align':'center'}"
                        style="color: #666E92;margin-top: 20px"
                        :data="tableData"
                        border
                        height='calc(100vh - 390px)'>
                    <template v-for="(col,index) in columns"> <!--表头数据  -->
                        <af-table-column
                                :show-overflow-tooltip="true"
                                :prop="col.name"
                                :label="col.name"
                                :key="col.id"
                                :render-header="renderHeader"   
                        >
                        </af-table-column>

                    </template>
                </el-table>

用render函数渲染,可以添加标签样式

方法:

   renderHeader(h, data) {
                var column=data.column;
                var index=data.$index;
                // h 是一个渲染函数       column 是一个对象表示当前列      $index 第几列
                return h("div", [
                    h("span", this.columns[index].name + "  ", { //这个是表头显示的值
                        align: "center",
                        marginTop: "10px"
                    }),
                    h(
                        "el-popover",  //弹框容器
                        {
                            props: { //属性
                                placement: "top-start",    // 一般 icon 处可添加浮层说明,浮层位置等属性
                                width: "160",
                                trigger: "hover"
                            }
                        },

                        [
                            h("span",  this.columns[index].description?'描述内容:'+this.columns[index].description:'暂无描述信息', {   //弹框显示内容
                                class: "text-align: center; margin: 0",
                            }),
                            h("i", {               // 生成 i 标签 ,添加icon 设置 样式,slot 必填
                                class: "el-icon-question",
                                slot: "reference"
                            })
                        ]
                    )
                ])

显示值和描述值,可以使用表头数组利用得到表头data的下标来取

表头显示值和弹框显示值 根据具体需求放,我这里是放了同数组的表头描述

end!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值