Lazy load startup element plus modules

This commit is contained in:
2026-06-09 12:39:01 +08:00
parent a911fc6911
commit 1a6e271a5e
5 changed files with 68 additions and 25 deletions
+45 -15
View File
@@ -13,21 +13,51 @@ import { defineAsyncComponent, defineComponent, h, ref } from 'vue';
import { ApiComponent, globalShareState } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { ElButton } from 'element-plus/es/components/button/index';
import {
ElCheckbox,
ElCheckboxButton,
ElCheckboxGroup,
} from 'element-plus/es/components/checkbox/index';
import { ElDivider } from 'element-plus/es/components/divider/index';
import { ElInput } from 'element-plus/es/components/input/index';
import {
ElRadio,
ElRadioButton,
ElRadioGroup,
} from 'element-plus/es/components/radio/index';
import { ElSpace } from 'element-plus/es/components/space/index';
import { ElSwitch } from 'element-plus/es/components/switch/index';
const ElButton = defineAsyncComponent(() =>
import('element-plus/es/components/button/index').then((res) => res.ElButton),
);
const ElCheckbox = defineAsyncComponent(() =>
import('element-plus/es/components/checkbox/index').then(
(res) => res.ElCheckbox,
),
);
const ElCheckboxButton = defineAsyncComponent(() =>
import('element-plus/es/components/checkbox/index').then(
(res) => res.ElCheckboxButton,
),
);
const ElCheckboxGroup = defineAsyncComponent(() =>
import('element-plus/es/components/checkbox/index').then(
(res) => res.ElCheckboxGroup,
),
);
const ElDivider = defineAsyncComponent(() =>
import('element-plus/es/components/divider/index').then(
(res) => res.ElDivider,
),
);
const ElInput = defineAsyncComponent(() =>
import('element-plus/es/components/input/index').then((res) => res.ElInput),
);
const ElRadio = defineAsyncComponent(() =>
import('element-plus/es/components/radio/index').then((res) => res.ElRadio),
);
const ElRadioButton = defineAsyncComponent(() =>
import('element-plus/es/components/radio/index').then(
(res) => res.ElRadioButton,
),
);
const ElRadioGroup = defineAsyncComponent(() =>
import('element-plus/es/components/radio/index').then(
(res) => res.ElRadioGroup,
),
);
const ElSpace = defineAsyncComponent(() =>
import('element-plus/es/components/space/index').then((res) => res.ElSpace),
);
const ElSwitch = defineAsyncComponent(() =>
import('element-plus/es/components/switch/index').then((res) => res.ElSwitch),
);
const ElCascader = defineAsyncComponent(() =>
import('element-plus/es/components/cascader/index').then(