ConsolePage

后台数据页通用脚手架:页头(标题 + 说明 + 右侧操作)+ 概览统计卡片 + 数据卡片(工具栏固定、仅表格区滚动)。

最后更新

说明

把在线用户、跟踪日志等后台页反复出现的整页骨架收敛为一个组件:Title / Description 作为翻译键经 LocalService 本地化;HeaderActions 放页头右侧操作(自动刷新开关、刷新、清空等);Stats 用一组 ConsoleStat(图标 + 渐变底色 + 数值 + 标签)渲染概览卡片,为空则不显示;数据卡片内置搜索框(Searchable + @bind-SearchText 双向绑定,回车触发 OnSearch、点清除按钮触发 OnSearchClear,可支撑服务端搜索场景)并在 ToolbarLeft / ToolbarRight 放过滤分段控件与次要操作;ChildContent 放 Table 等业务内容。组件只负责呈现骨架,表格列、自定义单元格与取数逻辑仍由各页面自持;样式集中在框架 web.css 的 .cp-page 段,实现页头 / 工具栏固定、仅表格区滚动、表头吸顶、分页固定底部。

常见能力:

  • 页头标题 + 说明 + 右侧操作插槽(均走本地化)
  • ConsoleStat 概览统计卡片,可多可少
  • 内置搜索框:@bind-SearchText 双向绑定 + 回车 OnSearch + 清除 OnSearchClear
  • ToolbarLeft / ToolbarRight 过滤与操作插槽
  • 仅表格区滚动、表头吸顶、分页钉底的固定外壳
  • 在线用户 / 跟踪日志 / 语言管理同源复用

用法

<ConsolePage Title="在线用户" Description="查看当前在线会话与登录设备"
             Searchable="true" @bind-SearchText="keyword" @bind-SearchText:after="ApplyFilter"
             SearchPlaceholder="搜索用户名或页面…" Stats="stats">
    <HeaderActions>
        <Button Kind="outline" Icon="refresh" Text="刷新" OnClick="RefreshAsync" />
    </HeaderActions>
    <ToolbarLeft>
        <Segmented Items="statusOptions" Value="@statusFilter" ValueChanged="OnStatusChanged" Small="true" />
    </ToolbarLeft>
    <ChildContent>
        <Table TItem="UserInfo" Columns="columns" Items="items" Loading="loading" />
    </ChildContent>
</ConsolePage>

API 参数

参数 类型 默认值 说明
Cardless bool false 去掉正文外层的 .cp-card 卡片,直接把内容铺在页面画布上(此时搜索框与工具栏一并省略)。 供自带分区卡片的页面使用,如「个人中心」——避免卡片套卡片的双层描边。默认 false 即常规数据卡片形态。
ChildContent RenderFragment null 卡片正文内容(通常为一个 Table 组件)。
CompactStats bool false 统计改用紧凑胶囊形态,渲染在工具栏右侧(与在线用户页的过滤胶囊同一视线位置);默认 false 即页头下方的卡片行。
Description string null 页面说明副标题(作为翻译键)。
HeaderActions RenderFragment null 页头右侧操作区插槽(如自动刷新开关、刷新按钮等)。
OnSearch EventCallback — 事件 在搜索框内按回车时触发(用于服务端搜索/翻页场景)。
OnSearchClear EventCallback — 事件 点击搜索框清除按钮、清空文本后触发(用于服务端搜索场景做整表重置:回首页并重新取数)。
Searchable bool false 是否显示内置搜索框。
SearchPlaceholder string null 搜索框占位提示(作为翻译键)。
SearchText string null 搜索关键字(可 @bind 双向绑定)。
SearchTextChanged EventCallback<string> — 事件 搜索关键字变化回调(配合 @bind-SearchText 使用)。
Stats List<ConsoleStat> null 概览统计卡片集合;为空则不渲染统计区。
Title string null 页面主标题(作为翻译键,缺译回退原文)。
ToolbarLeft RenderFragment null 工具栏左侧插槽(渲染在搜索框之后,如过滤分段控件、操作按钮)。
ToolbarRight RenderFragment null 工具栏右侧插槽(如导出、导入、新增等次要操作)。
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 群