- Spin 加载中
- 何时使用
- 代码演示
- 基本用法
- 各种大小
- 容器
- 卡片加载中
- 自定义描述文案
- 延迟
- 自定义指示符
- API
- 静态方法
- 静态方法
Spin 加载中
用于页面和区块的加载中状态。
何时使用
页面局部处于等待异步数据或正在渲染过程时,合适的加载动效会有效缓解用户的焦虑。
代码演示

基本用法
一个简单的 loading 状态。
<template><div><a-spin /></div></template>

各种大小
小的用于文本加载,默认用于卡片容器级加载,大的用于页面级加载。
<template><div><a-spin size="small" /><a-spin /><a-spin size="large" /></div></template>

容器
放入一个容器中。
<style scoped>.example {text-align: center;background: rgba(0,0,0,0.05);border-radius: 4px;margin-bottom: 20px;padding: 30px 50px;margin: 20px 0;}</style><template><div class="example"><a-spin /></div></template>

卡片加载中
可以直接把内容内嵌到 Spin 中,将现有容器变为加载状态。
<style scoped>.spin-content{border: 1px solid #91d5ff;background-color: #e6f7ff;padding: 30px;}</style><template><div><a-spin :spinning="spinning"><div class="spin-content">可以点击‘切换’按钮,控制本区域的spin展示。</div></a-spin>Loading state:<a-switch v-model="spinning"></a-switch></div></template><script>export default {data () {return {spinning: false}},methods: {changeSpinning(){this.spinning = !this.spinning}},}</script>

自定义描述文案
自定义描述文案。
<style scoped>.spin-content{border: 1px solid #91d5ff;background-color: #e6f7ff;padding: 30px;}</style><template><div><a-spin tip="Loading..."><div class="spin-content">我的描述文案是自定义的。。。</div></a-spin></div></template>

延迟
延迟显示 loading 效果。当 spinning 状态在 delay 时间内结束,则不显示 loading 状态。
<style scoped>.spin-content{border: 1px solid #91d5ff;background-color: #e6f7ff;padding: 30px;}</style><template><div><a-spin :spinning="spinning" :delay="delayTime"><div class="spin-content">可以点击‘切换’按钮,延迟显示 loading 效果。当 spinning 状态在 `delay` 时间内结束,则不显示 loading 状态。</div></a-spin>Loading state:<a-switch v-model="spinning"></a-switch></div></template><script>export default {data () {return {spinning: false,delayTime: 500,}},methods: {changeSpinning(){this.spinning = !this.spinning}},}</script>

自定义指示符
使用自定义指示符。
<template><div><a-spin><a-icon slot="indicator" type="loading" style="font-size: 24px" spin /></a-spin><a-spin :indicator="indicator" /></div></template><script>export default {data () {return {indicator: <a-icon type="loading" style="font-size: 24px" spin />}},}</script>
API
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| delay | 延迟显示加载效果的时间(防止闪烁) | number (毫秒) | - |
| indicator | 加载指示符 | vNode | slot | - |
| size | 组件大小,可选值为 small default large | string | 'default' |
| spinning | 是否为加载中状态 | boolean | true |
| tip | 当作为包裹元素时,可以自定义描述文案 | string | - |
| wrapperClassName | 包装器的类属性 | string | - |
静态方法
Spin.setDefaultIndicator({indicator})同上indicator,你可以自定义全局默认元素
Spin.setDefaultIndicator({indicator: (h) => {return <i class='anticon anticon-loading anticon-spin ant-spin-dot'></i>},})或者Spin.setDefaultIndicator({indicator: {render () {return <i class='anticon anticon-loading anticon-spin ant-spin-dot'></i>},},})
