diff --git a/src/views/demo/table/MergeHeader.vue b/src/views/demo/table/MergeHeader.vue index 2c3b612e978f77f26276a8ae78f2fd9fb9cb6152..5798c42d0e2de4105569b4be599b4686a147a36b 100644 --- a/src/views/demo/table/MergeHeader.vue +++ b/src/views/demo/table/MergeHeader.vue @@ -14,7 +14,8 @@ components: { BasicTable }, setup() { const [registerTable] = useTable({ - title: '多级表头示例', + title: '合并单元格', + bordered: true, api: demoListApi, columns: getMergeHeaderColumns(), }); diff --git a/src/views/demo/table/tableData.tsx b/src/views/demo/table/tableData.tsx index a248dc8fb468f74cbfe3a16e5e5ec2f9ac1f7795..20d3975febf32a2c4f6a29a6ef7aaa73a92e71f2 100644 --- a/src/views/demo/table/tableData.tsx +++ b/src/views/demo/table/tableData.tsx @@ -157,29 +157,26 @@ export function getCustomHeaderColumns(): BasicColumn[] { }, ]; } -const renderContent = ({ text, index }: { text: any; index: number }) => { - const obj: any = { - children: text, - attrs: {}, - }; - if (index === 9) { - obj.attrs.colSpan = 0; - } - return obj; -}; + +const cellContent = (_, index) => ({ + colSpan: index === 9 ? 0 : 1, +}); + export function getMergeHeaderColumns(): BasicColumn[] { return [ { title: 'ID', dataIndex: 'id', width: 300, - customRender: renderContent, + customCell: (_, index) => ({ + colSpan: index === 9 ? 6 : 1, + }), }, { title: '姓名', dataIndex: 'name', width: 300, - customRender: renderContent, + customCell: cellContent, }, { title: '地址', @@ -187,19 +184,10 @@ export function getMergeHeaderColumns(): BasicColumn[] { colSpan: 2, width: 120, sorter: true, - customRender: ({ text, index }: { text: any; index: number }) => { - const obj: any = { - children: text, - attrs: {}, - }; - if (index === 2) { - obj.attrs.rowSpan = 2; - } - if (index === 3) { - obj.attrs.colSpan = 0; - } - return obj; - }, + customCell: (_, index) => ({ + rowSpan: index === 2 ? 2 : 1, + colSpan: index === 3 || index === 9 ? 0 : 1, + }), }, { title: '编号', @@ -209,19 +197,19 @@ export function getMergeHeaderColumns(): BasicColumn[] { { text: 'Male', value: 'male', children: [] }, { text: 'Female', value: 'female', children: [] }, ], - customRender: renderContent, + customCell: cellContent, }, { title: '开始时间', dataIndex: 'beginTime', width: 200, - customRender: renderContent, + customCell: cellContent, }, { title: '结束时间', dataIndex: 'endTime', width: 200, - customRender: renderContent, + customCell: cellContent, }, ]; }