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}