mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-13 01:21:58 +00:00
fix: cloneElement bug
This commit is contained in:
parent
3b6dd61f3c
commit
d5c5614e38
@ -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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user