feat: @vben/plugins/vxe-table 异步导出 vxe-table 相关组件提供给需要单独使用 vxe-table 的场景

This commit is contained in:
puhui999
2025-05-09 13:09:24 +08:00
parent 62570fa745
commit 98676e1dc9
8 changed files with 118 additions and 14 deletions

View File

@@ -1,6 +1,11 @@
export { setupVbenVxeTable } from './init';
export { AsyncComponents, setupVbenVxeTable } from './init';
export type { VxeTableGridOptions } from './types';
export * from './use-vxe-grid';
export { default as VbenVxeGrid } from './use-vxe-grid.vue';
export type { VxeGridListeners, VxeGridProps } from 'vxe-table';
export type {
VxeGridListeners,
VxeGridProps,
VxeTableInstance,
VxeToolbarInstance,
} from 'vxe-table';

View File

@@ -1,6 +1,6 @@
import type { SetupVxeTable } from './types';
import { defineComponent, watch } from 'vue';
import { defineAsyncComponent, defineComponent, watch } from 'vue';
import { usePreferences } from '@vben/preferences';
@@ -100,6 +100,18 @@ export function initVxeTable() {
isInit = true;
}
// 异步导出 vxe-table 相关组件提供给需要单独使用 vxe-table 的场景
const AsyncVxeTable = defineAsyncComponent(() =>
import('vxe-table').then((mod) => mod.VxeTable),
);
const AsyncVxeColumn = defineAsyncComponent(() =>
import('vxe-table').then((mod) => mod.VxeColumn),
);
const AsyncVxeToolbar = defineAsyncComponent(() =>
import('vxe-table').then((mod) => mod.VxeToolbar),
);
export const AsyncComponents = [AsyncVxeTable, AsyncVxeColumn, AsyncVxeToolbar];
export function setupVbenVxeTable(setupOptions: SetupVxeTable) {
const { configVxeTable, useVbenForm } = setupOptions;