布局组件

最核心的组件 <AntdLayout />,放置在布局中,通常位于 src/layouts 下,而且可能有多个,它们之间的状态效果都是隔离的,包括存储在浏览器上的配置,使用布局组件后,所有页面都带上配置好的菜单和工具栏及品牌信息,使用布局组件前需要先配置好 路由菜单 属性参数,参数一共分两块:属性子元素标签

使用示例

src/layouts/index.tsx
import { AntdLayout } from "@adminui-dev/antd-layout"
import type { LayoutConfig, MenuData } from "@adminui-dev/antd-layout"

/** menu data */
const menuData:MenuData = {
    name:"",
    path:"/",
    label:"Dashboard",
    children:[
        {name:"welcome",path:"welcome",label:"Welcome"},
        {name:"transaction",path:"transaction",label:"Transaction",children:[
            {name:"order",path:"order",label:"Order"},
            {name:"product",path:"product",label:"Product"},
        ]}
    ]
}
export default function(){  
    // layout config
    const layoutConfig:LayoutConfig = {
        disabledLocale:true,
        layoutType:"leftMenu",  
        primaryColor:"#4dbae9"        
    }
    return(
        <>
            <AntdLayout layoutConfig={layoutConfig} menuData={menuData} />
        </>
    )
}
复制成功

属性

属性主要配置一些初始化参数,绝大部分可以动态响应。

参数名类型默认值说明
layoutConfigLayoutConfig-布局配置(包括主题模式、主题颜色、布局类型、菜单展示形态等)
menuDataMenuData-菜单配置数据
themeSkinsThemeSkin[]-自定义皮肤资源
localeMessagesRecord<string, LocaleMessage>falsei18n国际化数据
localestringen-US强制使用一个地本化(例如:en-US)
themestring-强制明亮度模式(例如:light)
disabledStorageConfigboolfalse禁用本地储存配置

属性中的强制参数会覆盖 layoutConfig 参数,且 setLayoutConfig 修改不起作用。

子元素标签

子元素挂载了一些带UI组件,例如:用户信息、品牌信息、扩展工具栏组件等。

src/layouts/index.tsx
<AntdLayout layoutConfig={...} menuData={...}>
    <AntdLayout.BrandPopoverContent>
        <div className="brandContent">
            <dl>
                <dt>Title</dt>
                <dd>Username</dt>
                <dd>Email<dt>
            <dl>
        </div>
    </AntdLayout.BrandPopoverContent>
</AntdLayout>
复制成功
参数名类型默认值说明
BrandPopoverContentReactNode-左上角品牌popover内容
AvatarPopoverContentReactNode-用户信息popover内容
HeaderToolbarExtraReactNode[]-工具栏扩展内容
AsideHeaderReactNode[]-侧滑面版头部内容
AsideFooterReactNode[]-侧滑面版页脚内容
FooterReactNode[]-正文页脚内容
SlotContentReactNode-不影响布局的插槽内容