mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-01-19 22:21:54 +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
|
// patch cloneElement avoid lost keyProps
|
||||||
const originCloneElement = window.React.cloneElement;
|
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) {
|
if (child.ref && props.ref) {
|
||||||
const dRef = props.ref;
|
const dRef = props.ref;
|
||||||
const cRef = child.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 }> {
|
export default class SimulatorRendererView extends Component<{ renderer: SimulatorRenderer }> {
|
||||||
@ -109,6 +109,26 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> {
|
|||||||
viewProps._leaf = leaf;
|
viewProps._leaf = leaf;
|
||||||
viewProps._componentName = leaf?.componentName;
|
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(
|
return createElement(
|
||||||
getDeviceView(Component, device, designMode),
|
getDeviceView(Component, device, designMode),
|
||||||
viewProps,
|
viewProps,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user