feat: 按需引入 form-create

This commit is contained in:
xingyu4j
2025-10-17 15:53:52 +08:00
parent 14a83d91f1
commit e14d10a4ba

View File

@@ -1,8 +1,36 @@
import type { App } from 'vue'; import type { App } from 'vue';
// import install from '@form-create/ant-design-vue/auto-import'; import formCreate from '@form-create/ant-design-vue';
import install from '@form-create/ant-design-vue/auto-import';
import FcDesigner from '@form-create/antd-designer'; import FcDesigner from '@form-create/antd-designer';
import Antd from 'ant-design-vue'; // 👇使用 form-create 需额外全局引入 ant-design-vue 组件
import {
Alert,
Badge,
Card,
Collapse,
CollapsePanel,
ConfigProvider,
Divider,
Dropdown,
Image,
Layout,
LayoutContent,
LayoutFooter,
LayoutHeader,
LayoutSider,
Menu,
MenuDivider,
MenuItem,
message,
Popconfirm,
Table,
TableColumn,
TabPane,
Tabs,
Tag,
Transfer,
} from 'ant-design-vue';
// ======================= 自定义组件 ======================= // ======================= 自定义组件 =======================
import { useApiSelect } from '#/components/form-create'; import { useApiSelect } from '#/components/form-create';
@@ -33,19 +61,42 @@ const components = [
ImagesUpload, ImagesUpload,
FileUpload, FileUpload,
Tinymce, Tinymce,
ConfigProvider,
DictSelect, DictSelect,
UserSelect, UserSelect,
DeptSelect, DeptSelect,
ApiSelect, ApiSelect,
Alert,
Layout,
LayoutHeader,
LayoutContent,
LayoutFooter,
LayoutSider,
Transfer,
Divider,
Popconfirm,
Table,
TableColumn,
TabPane,
Tabs,
Dropdown,
Badge,
Tag,
Menu,
Image,
MenuItem,
MenuDivider,
Collapse,
CollapsePanel,
Card,
]; ];
// TODO: @dhb52 按需导入而不是app.use(Antd); export function setupFormCreate(app: App) {
// 参考 http://www.form-create.com/v3/ant-design-vue/auto-import.html 文档
export const setupFormCreate = (app: App) => {
components.forEach((component) => { components.forEach((component) => {
app.component(component.name as string, component); app.component(component.name as string, component);
}); });
app.use(Antd); app.component('AMessage', message);
formCreate.use(install);
app.use(formCreate);
app.use(FcDesigner); app.use(FcDesigner);
app.use(FcDesigner.formCreate); }
};