import { Button, Space } from "antd"; import { useEffect, useState } from "react"; import HeaderBack from "../HeaderBack"; /** * 页面布局组件 */ function Page(props) { const { headerTitle, history, isShowHeader = true, headerPrevious = true, isShowFooter = true, isShowAllAction = true, backButtonText = "关闭", contentPadding = "20px", customActionButtons, extraActionButtons, } = props; const [pageWidth, setPageWidth] = useState(window.innerWidth); const getPageWidth = () => { const pageDom = document.querySelector("#page"); if (!pageDom) return; setPageWidth(pageDom.offsetWidth); }; useEffect(() => { const timer = setTimeout(() => { getPageWidth(); }, 0); window.addEventListener("resize", getPageWidth); return () => { window.removeEventListener("resize", getPageWidth); clearTimeout(timer); }; }, []); return (
{(isShowAllAction && isShowHeader) && }
{props.children}
{ (isShowAllAction && isShowFooter) && ( <>
{customActionButtons || ( {extraActionButtons} )}
) }
); } Page.displayName = "Page"; export default Page;