From e14d10a4bac4cc7e446cdf9b505e200a0ad1ff78 Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Fri, 17 Oct 2025 15:53:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8C=89=E9=9C=80=E5=BC=95=E5=85=A5=20?= =?UTF-8?q?form-create?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web-antd/src/plugins/form-create/index.ts | 67 ++++++++++++++++--- 1 file changed, 59 insertions(+), 8 deletions(-) diff --git a/apps/web-antd/src/plugins/form-create/index.ts b/apps/web-antd/src/plugins/form-create/index.ts index 78ded848c..0906fa79e 100644 --- a/apps/web-antd/src/plugins/form-create/index.ts +++ b/apps/web-antd/src/plugins/form-create/index.ts @@ -1,8 +1,36 @@ 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 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'; @@ -33,19 +61,42 @@ const components = [ ImagesUpload, FileUpload, Tinymce, + ConfigProvider, DictSelect, UserSelect, DeptSelect, 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); -// 参考 http://www.form-create.com/v3/ant-design-vue/auto-import.html 文档 -export const setupFormCreate = (app: App) => { +export function setupFormCreate(app: App) { components.forEach((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.formCreate); -}; +}