封装elemtui table表格组件

封装elemtui table表格组件

Vue.component('mytable', {
    props:{
        table_list:{
            type:Array,
            default:()=>[]
        },
        align:{
            type:String,
            default:'center'
        },
        table_rules:{
            type:Array,
            default:()=>[]
        },
        height:{
            type:String,
            default:'200'
        },
        show_summary:{
            //是否在表尾显示合计行
            type:Boolean,
            default:false
        },
        default_expand_all:{
            type:Boolean,
            default:false
        },
        tree_props:{
            type:Object,
            default:()=>{}
        },
    },
    template: `
        <el-table
            ref="table"
            :height="height"
            :data="table_list"
            header-row-class-name="header_row_style"
            cell-class-name="cell_class_name"
            border
            :align="align"
            size="small"
            style="width: 100%;"
            :default-expand-all="default_expand_all"
            row-key="id"
            :tree-props="tree_props"

            >
            <el-table-column
                v-for="(item,index) in table_rules" :key="index"
                :label="item.label"
                :prop="item.prop"
                :type="item.type"
                :width="item.width"
                :min-width="item.width"
                :fixed="item.fixed"
                :show-overflow-tooltip="item.show_overflow_tooltip"
                :formatter="item.formatter"
                >
                <template v-if="item.slot" v-slot="slotProps">
                    <slot :name="item.slot" :slotProps="slotProps.row"></slot>
                </template>
                <el-table-column
                    v-for="(itemy,indexy) in item.children" :key="indexy"
                    :label="itemy.label"
                    :prop="itemy.prop"
                    :width="itemy.width"
                    :min-width="itemy.width"
                    :fixed="itemy.fixed"
                    :show-overflow-tooltip="item.show_overflow_tooltip"
                    :formatter="itemy.formatter"
                    >
                    <template v-if="itemy.slot" v-slot="slotProps">
                        <slot :name="itemy.slot" :slotProps="slotProps.row"></slot>
                    </template>
                </el-table-column>
            </el-table-column>
        </el-table>
    `,

    data:function(){
        return {

        }
    },
    methods:{
    
    },
    mounted(){
    }
})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端鼓励师

老铁 支持一波

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值