列表页 List Page
客户列表 / 零件报价共用的 list-page 规范组件。样式由 @rd-element/ui 内置 list-page.css 提供。
页头统计 RdListPageHero
整卡统一内边距(--page-hero-pad-x/y)。 统计区用 #stats 放入 RdMetricCard; 主题内容放 #content(同卡内,可放筛选 + 表格等)。
完整 · 统计 + 操作 + #content(筛选 + 表格)
客户
管理全球客户,跟踪合作关系与业务进展
12客户总数
9活跃客户
4企业客户
$2.6M累计金额
关键词
状态
全部
简洁 · 标题 + 操作
订单
查看与管理全部销售订单
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
title | 主标题 | string | — |
subtitle | 副标题 | string | — |
statsLabel | #stats 区域 aria-label | string | — |
Slots
| 插槽名 | 说明 |
|---|---|
leading | 标题左侧前置区(图标等) |
title-extra | 标题文案下方扩展(如 ScopeTabs) |
actions | 右上角操作按钮 |
meta | 标题行下方元信息区 |
stats | 指标卡片区(常放 RdMetricCard) |
content | 同卡主题区(筛选 + 表格,或 ContentRow) |
客群侧栏 RdListPageSidebar
只负责树形数据与选中;面板标题 / 收起由 RdListPageContentRow 提供。
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
v-model / modelValue | 当前选中节点 id;空串表示「全部」 | string | — |
groups | 分组树数据 | SidebarGroup[] | — |
totalCount | 「全部」行计数 | number | — |
totalLabel | 「全部」行文案 | string | '全部' |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
update:modelValue | 选中变更;再点同一节点清空为「全部」 | (id: string) => void |
RdListPageSidebarNode
仅在 RdListPageSidebar 内使用。
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
node | 侧边栏节点(须在 Sidebar 内) | SidebarNode | — |
depth | 嵌套深度(缩进) | number | 0 |
内容行 RdListPageContentRow
左右布局壳:左侧可收起,右侧放 RdListPageDataPanel。merged 时合成一张大卡片。#aside 内放 RdListPageSidebar;编辑等操作放 #aside-actions。
客户列表12 条结果
选中客群后展示表格
演示 ContentRow + DataPanel
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
showAside | 是否渲染左侧栏 | boolean | true |
asideTitle | 左侧标题(展开栏 / 收起竖条) | string | '客群列表' |
collapsible | 是否允许收起左侧 | boolean | true |
defaultCollapsed | 初始是否收起 | boolean | false |
asideActive | 收起态是否显示选中小圆点 | boolean | false |
merged | 是否合并为大卡片外观 | boolean | true |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
update:collapsed | 左侧收起状态变更 | (value: boolean) => void |
Slots
| 插槽名 | 说明 |
|---|---|
aside | 左侧栏内容(展开时,常放 Sidebar) |
aside-actions | 左侧工具栏右侧操作 |
default | 主内容区(常放 DataPanel) |
范围切换 RdListPageScopeTabs
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
v-model / modelValue | 当前范围值 | string | — |
tabs | 范围 Tab(胶囊型) | ListPageScopeTab[] | — |
ariaLabel | tablist aria-label | string | '数据范围' |
size | 尺寸 | 'md' | 'sm' | 'md' |
bordered | 是否显示外框边框 | boolean | true |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
update:modelValue | 范围切换 | (value: string) => void |
状态切换 RdListPageStatusTabs
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
v-model / modelValue | 当前状态值 | string | — |
tabs | 状态 Tab 列表 | ListPageStatusTab[] | — |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
update:modelValue | 状态切换 | (value: string) => void |
数据面板 RdListPageDataPanel
组合 PanelHeader、FilterBar、FilterChips 与表格。Tab(全部 / 活跃 / 潜在)、关键词、等级、全部筛选与表格列文案一致并联动。
8 条结果
RdListPageDataPanel Slots
无业务 props;通过插槽拼装。
| 插槽名 | 说明 |
|---|---|
header | 粘性顶栏:面板头(PanelHeader / StatusTabs) |
toolbar | 粘性顶栏:筛选工具条 |
default | 表格 / 主体内容 |
footer | 底部分页等 |
RdListPagePanelHeader
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
tabs | 是否按 tabs 行样式 | boolean | — |
title | 左侧默认标题 | string | — |
count | 结果条数(默认渲染「N 条结果」) | number | — |
showClear | 右侧默认「清除筛选」按钮 | boolean | — |
| 事件名 | 说明 | 类型 |
|---|---|---|
clear | 点击清除筛选 | () => void |
| 插槽名 | 说明 |
|---|---|
left | 覆盖左侧默认 title/count |
right | 覆盖右侧默认清除按钮 |
RdListPageFilterBar
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
drawerFilterCount | 「全部筛选」按钮角标数 | number | — |
columnItems | 列设置项 | TableColumnSettingItem[] | — |
columnsCustomized | 列设置是否已自定义(启用「恢复默认」) | boolean | — |
showPinLeft | 是否展示「固定左侧」(透传列设置) | boolean | true |
showPinRight | 是否展示「固定右侧」(透传列设置) | boolean | false |
extraActions | 自定义动作列(透传列设置) | TableColumnSettingAction[] | [] |
columnSettingsHint | 列设置面板提示文案(透传 hint) | string | — |
| 事件名 | 说明 | 类型 |
|---|---|---|
openDrawer | 打开全部筛选抽屉 | () => void |
toggleColumn | 切换列显隐 | (key: string) => void |
toggleColumnTableFixed | 切换列表格固定(左/右互斥) | (key: string, side: 'left' | 'right') => void |
toggleColumnAction | 切换自定义动作开关 | (columnKey: string, actionKey: string) => void |
reorderColumns | 拖拽重排列 | (fromIndex: number, toIndex: number) => void |
resetColumns | 重置列配置 | () => void |
| 插槽名 | 说明 |
|---|---|
default | 主筛选项(RdInputGroup 等) |
append | 列设置按钮右侧的扩展操作(透传至 RdTableColumnSettings) |
RdListPageFilterChips
ListPageFilterTag:{ key, label, remove: () => void };关闭走 tag.remove()。
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
tags | 已选筛选标签;空数组不渲染 | ListPageFilterTag[] | — |
RdListPageTableEmpty
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
title | 空态标题 | string | — |
hint | 空态说明 | string | — |
showAction | 是否显示操作按钮 | boolean | — |
actionLabel | 操作按钮文案 | string | — |
| 事件名 | 说明 | 类型 |
|---|---|---|
action | 点击空态操作 | () => void |
全部筛选 RdListPageFilterDrawer
也可从上方「数据面板」中的「全部筛选」按钮打开同一抽屉实例。
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
v-model:visible | 是否显示 | boolean | — |
v-model:tab | 当前 Tab | 'filters' | 'layout' | 'filters' |
filterLayoutItems | 筛选项布局配置 | FilterFieldSettingItem[] | — |
filterLayoutCustomized | 筛选项布局是否已自定义 | boolean | — |
title | 抽屉标题 | string | '全部筛选' |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
apply | 确定应用筛选 | () => void |
reset | 重置筛选条件 | () => void |
toggleFilter | 切换筛选项显隐 | (key: string) => void |
toggleFilterQuick | 切换是否为快捷筛选项 | (key: string) => void |
reorderFilters | 拖拽重排筛选项 | (fromIndex: number, toIndex: number) => void |
resetFilterLayout | 重置筛选项布局 | () => void |
Slots
| 插槽名 | 说明 |
|---|---|
filters | 「筛选条件」Tab 内容 |
批量操作栏 RdListPageBulkBar
Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
count | 已选条数;≤0 不显示 | number | — |
showCrossPage | 是否展示跨页全选入口 | boolean | false |
crossPageActive | 跨页是否已全选 | boolean | false |
crossPageTotal | 筛选结果总数(跨页文案) | number | 0 |
flush | 去掉左右外边距(嵌套演示) | boolean | false |
Events
| 事件名 | 说明 | 类型 |
|---|---|---|
clear | 取消选择 | () => void |
toggleCrossPage | 切换跨页全选 | () => void |
Slots
| 插槽名 | 说明 |
|---|---|
left-extra | 左侧计数旁扩展 |
actions | 右侧批量操作按钮 |
页壳与表格区
无独立演示;列表页拼装时常用。
RdListPageLayout
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
loading | true 时渲染 skeleton 槽,否则正文 | boolean | — |
| 插槽名 | 说明 |
|---|---|
skeleton | loading 时骨架屏 |
default | 页面正文(loading=false) |
RdListPageTableArea
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
loading | 表格区 loading 样式 | boolean | — |
headerSticky | 表头吸顶:'page' 相对页面滚动(默认,top=滤板高度−内容区 pad);'container' 相对最近滚动容器;false 关闭库 sticky,交给 EP height/max-height。抽屉/弹层内 page 自动按 container 处理,不减外层页头偏移 | 'page' | 'container' | false | 'page' |
| 插槽名 | 说明 |
|---|---|
default | 表格内容(el-table 等) |
抽屉内表头吸顶
默认 headerSticky="page" 在 RdDrawer / RdDialog 内会自动按 container 处理(不减外层内容区 pad),避免表头下移盖住首行。 表内 height / max-height 滚动请传 :header-sticky="false"。
说明
- 列设置与筛选项配置详见 配置面板 Settings
- 表格行内编辑、分页等详见 表格增强 Table
- 表头吸顶(
RdListPageTableArea的headerSticky):- 默认
'page':相对列表页滚动吸顶,不设el-table的height/max-height - 抽屉 / 弹层内会自动按
'container'处理(不减外层内容区 pad);也可显式传headerSticky="container" - 使用表内滚动(
height/max-height)时传:header-sticky="false",交给 Element Plus 冻结表头
- 默认