结果页 result
数据展示组件。三层同源:无头内核给出解剖与状态机,Vue 组件与自定义元素只是它的两层外壳,行为完全一致。
示例
基础用法
图标、标题、说明、操作四段按需摆,只有 root 必须写
订单已提交
单号 2026-0810-3312,两个工作日内发货,物流单号会发到你的手机上。
结果类型
status 只落成 data-status,皮肤据它给图标区上语气色;画什么图标仍由作者塞
全部导入成功
128 条记录已入库。
部分行被跳过
有 6 行缺少必填字段。
导入没有完成
这次改动已经整体回滚。
任务已排队
前面还有 3 个任务在跑。
状态码页
404 / 403 / 500 三档各并进一族语气色,操作槽里放这一页的回退出口
404 页面不存在
地址可能敲错了,或者这条记录已经被删掉。
403 没有权限
这块内容需要更高的角色,找管理员要一下。
500 服务出错
请求没能处理完,稍后再试一次。
尺寸
size 换的是留白、图标框与标题字号,不传 size 即默认档
小档
同一段文案在三档下的留白与字号。
默认档
同一段文案在三档下的留白与字号。
大档
同一段文案在三档下的留白与字号。
图标由作者塞
库不带插画资产,图标槽收任意内容:字形、XhIcon、手写的内联 svg 都行
字形
字号跟着图标框走。
图标组件
记录传给 XhIcon,颜色继承下来。
内联 svg
自己写的图形也照样收。
产物
| 层 | 值 |
|---|---|
| 自定义元素 | <xh-result> |
| Vue 组件 | XhResultAction XhResultDescription XhResultIcon XhResultRoot XhResultTitle |
| 状态机 | 无,connect 直接由 props 算属性 |
| 皮肤 | @xihan-ui/styles/result.css |
解剖
部件名即 data-part 属性值,也是皮肤的选择器。加粗的是必备部件,不渲染它组件不工作(Web Components 适配器会在诊断通道上报 wc.missing-part)。
data-scope="result":root · icon · title · description · action
Props
| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
size | Size | 尺寸档位,只改留白与字号,不改语义。 | |
status | ResultStatus | 结果类型,只落成 root 的 data-status;图标画什么由作者塞进图标槽。 |
connect API
connect 产出的对象。getXxxProps() 铺到对应部件的宿主元素上,其余是可读状态与操作入口。
| 成员 | 类型 | 说明 |
|---|---|---|
getRootProps | () => T['element'] | |
getIconProps | () => T['element'] | |
getTitleProps | () => T['element'] | |
getDescriptionProps | () => T['element'] | |
getActionProps | () => T['element'] |
键盘
规格出处:W3C APG
无键盘交互(不接收焦点,或焦点行为完全由原生元素提供)。
