跳到正文

Spinner 加载

Spinner 表示有东西正在加载。单独使用时是行内元素;包在内容外面时,会在加载期间盖住这些内容。Brutal 是墨色边框的圆环,Elegant 是一条会伸缩的 SVG 弧线。

演示

尺寸

四种命名尺寸,也可以直接给像素值。Spinner 跟随容器的文字色;放在彩色底上时,把容器文字色设成这块底色的 text-on-fill,再用 variant="inverse" 让轨道更明显。

描述

覆盖内容

有子元素时,show 为 true 期间 Spinner 盖在内容上方,并把内容调暗;内容会被标记为 aria-busy,也不能点击。

延迟

delay 让 Spinner 等一会儿再出现,很快就完成的操作不会闪一下。隐藏是立即的。

自定义图标

icon 替换圆环并让它旋转;rotate={false} 让它保持静止。

Props

名称类型默认值说明版本
sizexs | sm | md | lg | numbersm命名尺寸或像素值。未发布
variantdefault | inversedefault彩色底上用 inverse 加深轨道;颜色本身来自容器的文字色。未发布
descriptionReactNodeundefinedSpinner 下方的文字。未发布
childrenReactNodeundefined加载期间要覆盖的内容。未发布
showbooleantrue是否显示;有子元素时 false 也会恢复内容的亮度。未发布
delaynumberundefined显示前等待的毫秒数。未发布
iconReactNodeundefined替换圆环。未发布
rotatebooleantrue让自定义 icon 旋转。未发布
contentClassNamestringundefined被覆盖内容的类名。未发布
contentStyleCSSPropertiesundefined被覆盖内容的样式。未发布

Spinner 是一个 role="status" 元素,名称取自语言包(“Loading” / “加载中”);可以用 aria-label 说明具体在加载什么。没有子元素时根节点是行内的 span,有子元素时是块级的 div;ref 和其他属性都加在根节点上。