AdminLayout

侧边栏 + 顶栏 + 内容区的完整后台骨架,内置命令面板、面包屑、软刷新与返回顶部。

最后更新

说明

作为 Layout 使用即可得到标准后台框架。通过 Menus 配置导航,侧栏顶部为 Logo 与折叠开关,导航树下方可含「开发中心」分组(由 Config.AddKnown 预声明,页面以 [Menu(Group = "development")] 挂入);顶栏右侧聚合搜索、自定义功能、刷新/全屏、通知与头像下拉(身份 + 主题/语言/密度/主题色/布局/导航偏好),用户身份不再放在侧栏底部。顶栏标题默认取当前页在菜单树中的名称(无需逐页传 PageTitle,开发中心页同属菜单树,一并自动推导),并自动在其左侧渲染上级面包屑;右上角刷新按钮对当前页做软刷新(重建页面组件、重新取数,不重载浏览器)。与 RailLayout 是 Config.Shells 出厂内置的两个候选:想让最终用户自己换外壳,把路由默认布局指向 ShellLayout 而不是这里,本模板只作为没选过偏好时的落点。

常见能力:

  • 多级侧边栏导航与折叠
  • 声明式分组:Config.AddMenuGroup + [Menu].Group
  • 顶栏右侧搜索 + 头像下拉偏好设置
  • 标题从菜单自动推导 + 上级面包屑
  • 刷新按钮软刷新当前页
  • Ctrl+K 命令面板
  • 滚动到顶按钮
  • 与 RailLayout 同为可切换外壳(Config.Shells)

用法

<Router AppAssembly="@typeof(Program).Assembly">
  <Found Context="routeData">
    <RouteView RouteData="@routeData" DefaultLayout="@typeof(AdminLayout)" />
  </Found>
</Router>

API 参数

参数 类型 默认值 说明
Body RenderFragment null
Collapsed bool false 默认折叠侧边栏。
HomeTitle string "首页" 首页页签标题。
HomeUrl string "/" 首页地址:多页签模式下钉在首位、不可关闭的那一签,也是品牌位点击的去向。 须与宿主的首页路由一致,否则首页会被当成普通页签另开一个。
Languages List<LanguageOption> [] 语言选项。留空时由顶栏从语言管理服务自取“用户启用的语言”;显式传入则覆盖。
Logo string "K" Logo 文字。
LogoIcon string null Logo 图标,设置后覆盖 Logo。
LogoUrl string "_content/Known/img/logo.svg" Logo 图片地址,优先级最高(覆盖 LogoIcon 与 Logo)。默认取框架品牌图标;置空则回退文字/图标。
Menus List<MenuItem> [] 导航菜单。留空时由登录门禁装配([Menu] 扫描 + 模块登记表),显式传入则以其为准。
Notifications List<NotifyItem> [] 顶栏通知。
NotifyFooter string "查看全部通知" 通知面板底部文字,为空则不显示。
OnLogout EventCallback — 事件
PageTitle string null 顶栏页面标题。留空时自动取当前页在菜单中的名称(模板布局为默认布局,页面无法逐页传参,故从菜单树推导,避免标题空白)。
ProfileUrl string "/profile" 「个人中心」入口地址(顶栏头像下拉里的条目跳转)。默认指向 Known.Admin 的自助页;宿主无该页可置空以隐藏条目,或改成自己的路由。
ScrollId string "known-content" 内容滚动容器的 DOM id。
Searchable bool true 是否显示全局搜索。
SiteTitle string null 站点标题。留空(默认)时由「系统设置 · 系统名称」驱动;宿主显式传入则以其为准。
UserName string "Admin" 用户名。
UserRole string "超级管理员" 用户角色。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群