Spinner 加载中
一般用来做 loading 使用。
基本使用
show 属性控制 spinner 是否渲染。
{"type": "page","body": {"type": "spinner","show": true,}}
size 属性控制 spinner 的大小,有三种配置:sm, lg 和 空值。
{"type": "page","body": [{"type": "spinner","show": true,"size": "sm","className": "mr-4"},{"type": "spinner","show": true,"size": "","className": "mr-4"},{"type": "spinner","show": true,"size": "lg"}]}
className 属性、 spinnerClassName属性和 spinnerWrapClassName属性可以配置 spinner 自定义的 class,className会添加到 spinner 组件的最外层标签上,spinnerClassName会添加到 icon 对应的标签上,spinnerWrapClassName 在作为组件容器使用时,会作用于整个 Spinner 组件的最外层元素上。
{"type": "page","body": [{"type": "spinner","show": true,"className": "my-spinner","spinnerClassName": "my-spinner-custom-icon","spinnerWrapClassName": "my-spinner-wrap",}]}
icon 属性可以配置自定义的图标,可以是 amis 内置的图标名称(需要是在 icons.tsx 组件中注册过的); 可以是字体图标库的名称(需要引入对应的图标库),比如fa fa-spinner; 也可以是网络图片,比如 /examples/static/logo.png;
{"type": "page","body": [{"type": "spinner","show": true,"icon": "","className": "mr-4"},{"type": "spinner","show": true,"icon": "reload","className": "mr-4"},{"type": "spinner","show": true,"icon": "fa fa-spinner","className": "mr-4"},{"type": "spinner","show": true,"icon": "/examples/static/logo.png"}]}
tip 属性可以配置 spinner 的文案,同时 tipPlacement可以配置 tip 的相对于 icon 的位置,有四种配置:top,right,bottom(默认),left;
{"type": "page","body": [{"type": "spinner","show": true,"tip": "加载中...","className": "mr-10"},{"type": "spinner","show": true,"tip": "加载中...","tipPlacement": "right","className": "mr-10"},{"type": "spinner","show": true,"tip": "加载中...","tipPlacement": "top","className": "mr-10"},{"type": "spinner","show": true,"tip": "加载中...","tipPlacement": "left"}]}
delay 属性可以配置 spinner 的延迟显示时间,例如 delay=1000,show 属性设为 true 后,1000ms 后才会显示出来。
{"type": "page","body": {"type": "spinner","show": true,"delay": 1000}}
作为容器使用
spinner 组件可以作为容器使用,被包裹的内容可通过 body 配置, 且作为容器使用的时候可以使用 overlay 属性来配置显示 spinner 的时候是否显示遮罩层(遮罩层背景颜色默认是透明的,可通过外层 className 自定义遮罩层颜色)。
{"type": "page","body": {"type": "spinner","show": true,"overlay": true,"body": {"type": "form","body": [{"type": "input-text","name": "name","label": "姓名:"},{"name": "email","type": "input-email","label": "邮箱:"}]}}}
属性表
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| type | string |
spinner |
指定为 Spinner 渲染器 |
| show | boolean |
true |
是否显示 spinner 组件 |
| className | string |
spinner 图标父级标签的自定义 class | |
| spinnerClassName | string |
组件中 icon 所在标签的自定义 class | |
| spinnerWrapClassName | string |
作为容器使用时组件最外层标签的自定义 class | |
| size | string |
组件大小 sm lg |
|
| icon | string |
组件图标,可以是amis内置图标,也可以是字体图标或者网络图片链接,作为 ui 库使用时也可以是自定义组件 |
|
| tip | string |
配置组件文案,例如加载中... |
|
| tipPlacement | top, right, bottom, left |
bottom |
配置组件 tip 相对于 icon 的位置 |
| delay | number |
0 |
配置组件显示延迟的时间(毫秒) |
| overlay | boolean |
true |
配置组件显示 spinner 时是否显示遮罩层 |
| body | SchemaNode | 作为容器使用时,被包裹的内容 |
