chore: trim global element plus registration

This commit is contained in:
2026-06-12 15:30:33 +08:00
parent af29df415a
commit 46960d3721
+1 -76
View File
@@ -1,83 +1,8 @@
import type { App, Component } from 'vue';
import { defineAsyncComponent } from 'vue';
import type { App } from 'vue';
import { ElLoading } from 'element-plus/es/components/loading/index';
type ElementComponentLoader = () => Promise<Component>;
const asyncComponents: Record<string, ElementComponentLoader> = {
ElAlert: () =>
import('element-plus/es/components/alert/index').then((m) => m.ElAlert),
ElAvatar: () =>
import('element-plus/es/components/avatar/index').then((m) => m.ElAvatar),
ElBadge: () =>
import('element-plus/es/components/badge/index').then((m) => m.ElBadge),
ElBreadcrumb: () =>
import('element-plus/es/components/breadcrumb/index').then(
(m) => m.ElBreadcrumb,
),
ElButton: () =>
import('element-plus/es/components/button/index').then((m) => m.ElButton),
ElCard: () =>
import('element-plus/es/components/card/index').then((m) => m.ElCard),
ElCascader: () =>
import('element-plus/es/components/cascader/index').then(
(m) => m.ElCascader,
),
ElCheckbox: () =>
import('element-plus/es/components/checkbox/index').then(
(m) => m.ElCheckbox,
),
ElDescriptions: () =>
import('element-plus/es/components/descriptions/index').then(
(m) => m.ElDescriptions,
),
ElDropdown: () =>
import('element-plus/es/components/dropdown/index').then(
(m) => m.ElDropdown,
),
ElEmpty: () =>
import('element-plus/es/components/empty/index').then((m) => m.ElEmpty),
ElForm: () =>
import('element-plus/es/components/form/index').then((m) => m.ElForm),
ElFormItem: () =>
import('element-plus/es/components/form/index').then((m) => m.ElFormItem),
ElInput: () =>
import('element-plus/es/components/input/index').then((m) => m.ElInput),
ElPopover: () =>
import('element-plus/es/components/popover/index').then(
(m) => m.ElPopover,
),
ElRadioButton: () =>
import('element-plus/es/components/radio/index').then(
(m) => m.ElRadioButton,
),
ElScrollbar: () =>
import('element-plus/es/components/scrollbar/index').then(
(m) => m.ElScrollbar,
),
ElSkeleton: () =>
import('element-plus/es/components/skeleton/index').then(
(m) => m.ElSkeleton,
),
ElTag: () =>
import('element-plus/es/components/tag/index').then((m) => m.ElTag),
ElTooltip: () =>
import('element-plus/es/components/tooltip/index').then(
(m) => m.ElTooltip,
),
ElTree: () =>
import('element-plus/es/components/tree/index').then((m) => m.ElTree),
ElUpload: () =>
import('element-plus/es/components/upload/index').then((m) => m.ElUpload),
};
function setupElementPlus(app: App) {
for (const [name, loader] of Object.entries(asyncComponents)) {
app.component(name, defineAsyncComponent(loader));
}
app.directive('loading', ElLoading.directive);
}