跳到正文
册页

网站

Metrics - 指标展示

指标面板、无障碍数据表格与图表布局。

用法

什么时候用它

组织指标和外部渲染的图表,无需在此引入图表引擎。

来自@misoto22/folio/website

TSX
import { MetricsRange } from '@misoto22/folio/website'

说明

受控时间范围选择器。选中状态表示应用已成功加载的数据范围。

实践建议

推荐

  • 提供本地化标签、含义明确的链接和有用的图片替代文本。

避免

  • 不要在展示组件中放入服务凭据、路由逻辑或后端模型。

示例

由应用控制的时间范围

选中的时间范围和已格式化的读数保留在应用状态中。具名面板可以容纳列表、表格或由其他渲染器绘制的图表。

Library activity

Sample data

Period

Reading

Articles opened
24
Minutes reading
180

Collection

Saved records
7
Notes written
3

组成部分

在调用处组合,而不是通过 props 配置——所以这个组件没有预料到的布局,依然表达得出来。

MetricsSection

仪表盘分区,不依赖图表引擎或领域响应模型。

MetricsSection props
属性类型默认值说明
children必填ReactNode
actionReactNode
captionReactNode
titleReactNode

同时接受 Omit<HTMLAttributes<HTMLElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MetricsPanel

具名面板。子内容可使用单独导入的图表入口。

MetricsPanel props
属性类型默认值说明
children必填ReactNode
title必填string
captionstring

同时接受 Omit<HTMLAttributes<HTMLElement>, 'title'> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MetricsPanelGrid

响应式网格共用分隔线和面板最小宽度。

MetricsPanelGrid props
属性类型默认值说明
columns2 | 42

同时接受 HTMLAttributes<HTMLDivElement> 里的全部属性,它们会直接透传给底层元素,不再逐条列出。

MetricsEmptyState

时间序列为空时保留图表区域,并说明首次收到数据后将展示什么。

MetricsEmptyState props
属性类型默认值说明
description必填ReactNode
title必填ReactNode

MetricsList

已格式化的指标行,具有明确的名称与数值关系,并提供空状态。

MetricsList props
属性类型默认值说明
empty必填string
items必填{ id: string; label: ReactNode; value: ReactNode; icon?: ReactNode }[]
label必填string

MetricValue

展示传入的数值,并用辅助字号呈现单位。

MetricValue props
属性类型默认值说明
segments必填{ text: string; unit?: boolean }[]

MetricDelta

中性的方向标记,不将增加默认视为好事,也不将减少视为错误。

MetricDelta props
属性类型默认值说明
children必填ReactNode
direction必填'up' | 'down' | 'steady'

LiveCount

未知的实时计数不显示;实测零值则是有效读数。

LiveCount props
属性类型默认值说明
label必填string
value必填number | null