将需要渲染的数据通过数组的传入 组件内通过循环动态渲染,该组件可以通过添加type类型配合template slot拓展 还放置两个插槽进行拓展一个插槽在表格上面 一个用来插操作按钮
<template>
<div>
<!-- RFID详情 -->
<el-dialog :title="title" :visible.sync="codeDetailShow" width="70%" ref="cardBox" :close-on-click-modal=false
:append-to-body=true>
<div style="margin-bottom: 16px;">
<slot name="headSlot"></slot>
</div>
<el-table :data="tableList.slice((table.page - 1) * table.rows,table.page * table.rows)"
v-loading="loadings">
<el-table-column type="index" align="center" label="序号">
</el-table-column>
<el-table-column v-for="(item,index) in sizeNameList" :key="index" align="center" :label="item.name"
:width="flexColumnWidth(item.id,tableList)">
<template slot-scope="scope">
<div v-if="item.type=='img'">
<el-image class="table_img" v-if="scope.row[item.id]"
@click="viewImg(scope.row[item.id])" :src="scope.row[item.id] + imgAbbreviate"
fit="contain"></el-image>
<img alt="" class="table_img" src="../../assets/img/imgbg.png" v-else/>
</div>
<!-- 时间格式年月日时分秒 -->
<div v-else-if="item.type == 'date'">
{
{ scope.row[item.id] | time }}
</div>
<!-- day时间格式年月日 -->
<div v-else-if="item.type == 'day'">
<span>{
{ scope.row[item.id] | day }}</span>
</div>