|
|
|
@ -1,33 +1,72 @@ |
|
|
|
<template> |
|
|
|
<div class="p-4"> |
|
|
|
<PageWrapper |
|
|
|
title="可展开表格" |
|
|
|
content="不可与scroll共用。TableAction组件可配置stopButtonPropagation来阻止操作按钮的点击事件冒泡,以便配合Table组件的expandRowByClick" |
|
|
|
> |
|
|
|
<BasicTable @register="registerTable"> |
|
|
|
<template #expandedRowRender="{ record }"> |
|
|
|
<span>No: {{ record.no }} </span> |
|
|
|
</template> |
|
|
|
<template #action="{ record }"> |
|
|
|
<TableAction |
|
|
|
stopButtonPropagation |
|
|
|
:actions="[ |
|
|
|
{ |
|
|
|
label: '删除', |
|
|
|
icon: 'ic:outline-delete-outline', |
|
|
|
onClick: handleDelete.bind(null, record), |
|
|
|
}, |
|
|
|
]" |
|
|
|
:dropDownActions="[ |
|
|
|
{ |
|
|
|
label: '启用', |
|
|
|
popConfirm: { |
|
|
|
title: '是否启用?', |
|
|
|
confirm: handleOpen.bind(null, record), |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</BasicTable> |
|
|
|
</div> |
|
|
|
</PageWrapper> |
|
|
|
</template> |
|
|
|
<script lang="ts"> |
|
|
|
import { defineComponent } from 'vue'; |
|
|
|
import { BasicTable, useTable } from '/@/components/Table'; |
|
|
|
import { BasicTable, useTable, TableAction } from '/@/components/Table'; |
|
|
|
import { PageWrapper } from '/@/components/Page'; |
|
|
|
import { getBasicColumns } from './tableData'; |
|
|
|
|
|
|
|
import { demoListApi } from '/@/api/demo/table'; |
|
|
|
|
|
|
|
export default defineComponent({ |
|
|
|
components: { BasicTable }, |
|
|
|
components: { BasicTable, TableAction, PageWrapper }, |
|
|
|
setup() { |
|
|
|
const [registerTable] = useTable({ |
|
|
|
title: '可展开表格', |
|
|
|
api: demoListApi, |
|
|
|
titleHelpMessage: '不能与scroll共用', |
|
|
|
title: '可展开表格演示', |
|
|
|
titleHelpMessage: ['已启用expandRowByClick', '已启用stopButtonPropagation'], |
|
|
|
columns: getBasicColumns(), |
|
|
|
rowKey: 'id', |
|
|
|
canResize: false, |
|
|
|
expandRowByClick: true, |
|
|
|
actionColumn: { |
|
|
|
width: 160, |
|
|
|
title: 'Action', |
|
|
|
slots: { customRender: 'action' }, |
|
|
|
}, |
|
|
|
}); |
|
|
|
function handleDelete(record: Recordable) { |
|
|
|
console.log('点击了删除', record); |
|
|
|
} |
|
|
|
function handleOpen(record: Recordable) { |
|
|
|
console.log('点击了启用', record); |
|
|
|
} |
|
|
|
|
|
|
|
return { |
|
|
|
registerTable, |
|
|
|
handleDelete, |
|
|
|
handleOpen, |
|
|
|
}; |
|
|
|
}, |
|
|
|
}); |
|
|
|
|