diff --git a/packages/client/src/schema-component/antd/icon-picker/IconPicker.tsx b/packages/client/src/schema-component/antd/icon-picker/IconPicker.tsx index bf1935b95a..8dcd882bdd 100644 --- a/packages/client/src/schema-component/antd/icon-picker/IconPicker.tsx +++ b/packages/client/src/schema-component/antd/icon-picker/IconPicker.tsx @@ -65,7 +65,6 @@ export const IconPicker = connect( mapProps((props, field) => { return { ...props, - value: props.type, suffix: {field?.['loading'] || field?.['validating'] ? : props.suffix}, }; }), diff --git a/packages/client/src/schema-component/antd/menu/Menu.Designer.tsx b/packages/client/src/schema-component/antd/menu/Menu.Designer.tsx index 1f27461805..37ffb21b55 100644 --- a/packages/client/src/schema-component/antd/menu/Menu.Designer.tsx +++ b/packages/client/src/schema-component/antd/menu/Menu.Designer.tsx @@ -1,23 +1,58 @@ -import { useField } from '@formily/react'; +import { ISchema, useField, useFieldSchema } from '@formily/react'; import React from 'react'; -import { GeneralSchemaDesigner, SchemaSettings } from '../../../'; +import { GeneralSchemaDesigner, SchemaSettings, useDesignable } from '../../../'; export const MenuDesigner = () => { const field = useField(); + const fieldSchema = useFieldSchema(); + const { dn, refresh } = useDesignable(); return ( - - 编辑 - + onSubmit={({ title, icon }) => { + const schema = { + ['x-uid']: fieldSchema['x-uid'], + }; + if (title) { + fieldSchema.title = title; + field.title = title; + schema['title'] = title; + refresh(); + } + field.componentProps.icon = icon; + schema['x-component-props'] = { icon }; + fieldSchema['x-component-props'] = fieldSchema['x-component-props'] || {}; + fieldSchema['x-component-props']['icon'] = icon; + dn.emit('patch', { + schema, + }); + }} + /> diff --git a/packages/client/src/schema-component/antd/menu/Menu.tsx b/packages/client/src/schema-component/antd/menu/Menu.tsx index 3dea444205..061efaa952 100644 --- a/packages/client/src/schema-component/antd/menu/Menu.tsx +++ b/packages/client/src/schema-component/antd/menu/Menu.tsx @@ -311,12 +311,13 @@ export const Menu: ComposedMenu = observer((props) => { Menu.Item = observer((props) => { const { icon, ...others } = props; const schema = useFieldSchema(); + const field = useField(); const Designer = useContext(MenuItemDesignerContext); return ( - {schema.title} + {field.title} @@ -340,7 +341,7 @@ Menu.URL = observer((props) => { > - {schema.title} + {field.title}