PageTabs

多页签模式的导航页签条:一页一签,点签导航、悬停关闭、右键批量关闭。

最后更新

说明

不接任何参数:清单的唯一真相源是 PageTabService(Tabs / ActiveUrl / Open / Activate / Close / CloseOthers / CloseAll 与 Changed 事件),本组件只负责渲染、导航与右键菜单,因此同一作用域里只应存在一条页签条。多页签模式下由 AdminLayout 挂在顶栏与内容区之间,并在每次路由变化时记账;首页由 HomeUrl 钉在第 0 位且不可关闭,新页签一律追加在末尾。页签只记地址不记状态:切签是一次常规路由导航,目标页照常重新初始化(不做 keep-alive)。清单经 known.pagetabs 落 localStorage,刷新后恢复,页面内部状态不在保留之列。宽度不够时右侧页签自动收进「更多」下拉。单页 / 多页签由顶栏头像下拉的「导航」段控切换(LocalService.MultiTabs / SetMultiTabsAsync,落 known.multitabs):关掉只是收起页签条,清单仍留在本地,再开即恢复。

常见能力:

  • 一页一签,点签即导航
  • 悬停出关闭按钮
  • 右键批量:关闭当前 / 其他 / 全部
  • 首页钉位不可关闭
  • 超出宽度收纳进「更多」
  • 清单落 localStorage,刷新即恢复
  • 与单页 / 多页签开关联动

用法

@* 由 AdminLayout 在多页签模式下自动挂载,无需手写 *@

@inject PageTabService Pages
@inject NavigationManager Nav

Pages.Open("/orders", "订单管理", "shopping-cart");   // 追加并置为激活
var go = Pages.Close(url);                        // 关掉的可能是当前页
if (go != null) Nav.NavigateTo(go);               // 返回值即需要导航过去的地址

API 参数

参数 类型 默认值 说明
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

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

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