<template> <div class="m-4"> <BasicTable title="基础表格" :columns="columns" :dataSource="data"> <template #toolbar> <a-button @click="openModal">导出</a-button> </template> </BasicTable> <ExportExcelModel @register="register" @success="defaultHeader" /> </div> </template> <script lang="ts"> import { defineComponent } from 'vue'; import { BasicTable } from '/@/components/Table'; import { jsonToSheetXlsx, ExportExcelModel, ExportModalResult } from '/@/components/Excel'; import { columns, data } from './data'; import { useModal } from '/@/components/Modal'; export default defineComponent({ components: { BasicTable, ExportExcelModel }, setup() { function defaultHeader({ filename, bookType }: ExportModalResult) { // 默认Object.keys(data[0])作为header jsonToSheetXlsx({ data, filename, write2excelOpts: { bookType, }, }); } const [register, { openModal }] = useModal(); return { defaultHeader, columns, data, register, openModal, }; }, }); </script>