diff --git a/packages/react-simulator-renderer/src/renderer-view.tsx b/packages/react-simulator-renderer/src/renderer-view.tsx index 9ab55d0ee..c878cac76 100644 --- a/packages/react-simulator-renderer/src/renderer-view.tsx +++ b/packages/react-simulator-renderer/src/renderer-view.tsx @@ -8,7 +8,7 @@ import './renderer.less'; // patch cloneElement avoid lost keyProps const originCloneElement = window.React.cloneElement; -(window as any).React.cloneElement = (child: any, { _leaf, ...props }: any = {}) => { +(window as any).React.cloneElement = (child: any, { _leaf, ...props }: any = {}, ...rest: any[]) => { if (child.ref && props.ref) { const dRef = props.ref; const cRef = child.ref; @@ -33,7 +33,7 @@ const originCloneElement = window.React.cloneElement; } }; } - return originCloneElement(child, props); + return originCloneElement(child, props, ...rest); }; export default class SimulatorRendererView extends Component<{ renderer: SimulatorRenderer }> { @@ -109,6 +109,26 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> { viewProps._leaf = leaf; viewProps._componentName = leaf?.componentName; + if (viewProps._componentName === 'Menu') { + Object.assign(viewProps, { + _componentName: 'Menu', + className: '_css_pesudo_menu_kbrzyh0f', + context: { VE: (window as any).VisualEngine }, + direction: undefined, + events: { ignored: true }, + fieldId: 'menu_kbrzyh0f', + footer: '', + header: '', + mode: 'inline', + onItemClick: { ignored: true }, + onSelect: { ignored: true }, + popupAlign: 'follow', + selectMode: false, + triggerType: 'click', + }); + console.info('menuprops', viewProps); + } + return createElement( getDeviceView(Component, device, designMode), viewProps,