Spinner 加载
Spinner 表示有东西正在加载。单独使用时是行内元素;包在内容外面时,会在加载期间盖住这些内容。Brutal 是墨色边框的圆环,Elegant 是一条会伸缩的 SVG 弧线。
演示
尺寸
四种命名尺寸,也可以直接给像素值。Spinner 跟随容器的文字色;放在彩色底上时,把容器文字色设成这块底色的 text-on-fill,再用 variant="inverse" 让轨道更明显。
描述
覆盖内容
有子元素时,show 为 true 期间 Spinner 盖在内容上方,并把内容调暗;内容会被标记为 aria-busy,也不能点击。
延迟
delay 让 Spinner 等一会儿再出现,很快就完成的操作不会闪一下。隐藏是立即的。
自定义图标
icon 替换圆环并让它旋转;rotate={false} 让它保持静止。
Props
| 名称 | 类型 | 默认值 | 说明 | 版本 |
|---|---|---|---|---|
size | xs | sm | md | lg | number | sm | 命名尺寸或像素值。 | 未发布 |
variant | default | inverse | default | 彩色底上用 inverse 加深轨道;颜色本身来自容器的文字色。 | 未发布 |
description | ReactNode | undefined | Spinner 下方的文字。 | 未发布 |
children | ReactNode | undefined | 加载期间要覆盖的内容。 | 未发布 |
show | boolean | true | 是否显示;有子元素时 false 也会恢复内容的亮度。 | 未发布 |
delay | number | undefined | 显示前等待的毫秒数。 | 未发布 |
icon | ReactNode | undefined | 替换圆环。 | 未发布 |
rotate | boolean | true | 让自定义 icon 旋转。 | 未发布 |
contentClassName | string | undefined | 被覆盖内容的类名。 | 未发布 |
contentStyle | CSSProperties | undefined | 被覆盖内容的样式。 | 未发布 |
Spinner 是一个 role="status" 元素,名称取自语言包(“Loading” / “加载中”);可以用 aria-label 说明具体在加载什么。没有子元素时根节点是行内的 span,有子元素时是块级的 div;ref 和其他属性都加在根节点上。