import React, { useState } from 'react'; import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons'; import type { BasicLayoutProps } from '@ant-design/pro-layout'; import ProLayout, { PageContainer } from '@ant-design/pro-layout'; import { ProFormRadio } from '@ant-design/pro-form'; import defaultProps from './_defaultProps'; export default () => { const [pathname, setPathname] = useState('/welcome'); const [collapsed, setCollapsed] = useState(false); const [position, setPosition] = useState<'header' | 'menu'>('header'); const children = (
({ label: value, value, }))} fieldProps={{ value: position, onChange: (e) => setPosition(e.target.value), }} />
); const props: BasicLayoutProps = { ...defaultProps, location: { pathname, }, navTheme: 'light', collapsed, fixSiderbar: true, collapsedButtonRender: false, menuItemRender: (item, dom) => ( { setPathname(item.path || '/welcome'); }} > {dom} ), }; if (position === 'menu') { return ( { return [ { icon: collapsed ? : , name: ' ', onTitleClick: () => setCollapsed(!collapsed), }, ...(menuData || []), ]; }} > {children} ); } return ( { return (
setCollapsed(!collapsed)} style={{ cursor: 'pointer', fontSize: '16px', }} > {collapsed ? : }
); }} > {children}
); };