一、根据column常用参数定义每列项的类型接口

(1)prop:字段名

(2)label:表头名

(3)width?:列宽

后续可增加

  1. export interface columnType {
  2. prop: String;
  3. label: String;
  4. width?: String | Number
  5. }

二、创建组件,定义prop,遍历渲染

1.导入column项类型接口,定义prop

  1. defineProps({
  2. columnOptions: {
  3. type: Array as PropType<columnType[]>,
  4. required:true
  5. },
  6. tableData: {
  7. type: Array,
  8. required:true
  9. }
  10. })
  1. 2.遍历渲染el-table-column,渲染基础表格
  1. <el-table :data="tableData" v-bind="$attrs">
  2. <template v-for="item in columnOptions" :key="item.prop">
  3. <el-table-column
  4. :prop="item.prop"
  5. :label="item.label"
  6. :width="item.width"
  7. >
  8. </el-table-column>
  9. </template>
  10. </el-table>