fix: cannot access 'ActionPage' before initialization (#5125)

This commit is contained in:
chenos 2024-08-26 15:40:22 +08:00 committed by GitHub
parent 7ff13ff39e
commit ffcc60cadf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,45 +15,41 @@ import { BackButtonUsedInSubPage } from '../page/BackButtonUsedInSubPage';
import { TabsContextProvider, useTabsContext } from '../tabs/context';
import { useActionPageStyle } from './Action.Page.style';
import { usePopupOrSubpagesContainerDOM } from './hooks/usePopupSlotDOM';
import { ComposedActionDrawer } from './types';
export const ActionPage: ComposedActionDrawer = observer(
({ level }) => {
const filedSchema = useFieldSchema();
const ctx = useActionContext();
const { getContainerDOM } = usePopupOrSubpagesContainerDOM();
const { styles } = useActionPageStyle();
const tabContext = useTabsContext();
export function ActionPage({ level }) {
const filedSchema = useFieldSchema();
const ctx = useActionContext();
const { getContainerDOM } = usePopupOrSubpagesContainerDOM();
const { styles } = useActionPageStyle();
const tabContext = useTabsContext();
const style = useMemo(() => {
return {
// 20 is the z-index value of the main page
zIndex: 20 + level,
};
}, [level]);
const style = useMemo(() => {
return {
// 20 is the z-index value of the main page
zIndex: 20 + level,
};
}, [level]);
if (!ctx.visible) {
return null;
}
if (!ctx.visible) {
return null;
}
const actionPageNode = (
<div className={styles.container} style={style}>
<TabsContextProvider {...tabContext} tabBarExtraContent={<BackButtonUsedInSubPage />}>
<RecursionField schema={filedSchema} onlyRenderProperties />
</TabsContextProvider>
</div>
);
const actionPageNode = (
<div className={styles.container} style={style}>
<TabsContextProvider {...tabContext} tabBarExtraContent={<BackButtonUsedInSubPage />}>
<RecursionField schema={filedSchema} onlyRenderProperties />
</TabsContextProvider>
</div>
);
const container = getContainerDOM();
const container = getContainerDOM();
if (container) {
return createPortal(actionPageNode, container);
}
if (container) {
return createPortal(actionPageNode, container);
}
return actionPageNode;
},
{ displayName: 'ActionPage' },
);
return actionPageNode;
}
ActionPage.Footer = observer(
() => {