--- localeCode: en-US order: 65 category: Feedback title: Spin subTitle: Spin icon: doc-spin brief: Spin is used to inform the user that the content is loading and may take an uncertain period of time. --- ## Demos ### How to import ```jsx import { Spin } from '@douyinfe/semi-ui'; ``` ### Basic usage ```jsx live=true import React from 'react'; import { Spin } from '@douyinfe/semi-ui'; () => (
A basic spin.
); ``` ### Size Supports three sizes: `large`, `medium` (default), and `small`. ```jsx live=true import React from 'react'; import { Spin } from '@douyinfe/semi-ui'; () => (
size: small


size: middle


size: large
); ``` ### With Description Use `tip` to set the description texts when Spin is used as a wrapping element ```jsx live=true import React from 'react'; import { Spin } from '@douyinfe/semi-ui'; () => (

Here are some texts.

And more texts on the way.

); ``` ### Customized Indicator Use `indicator` property to customize Spin's indicator style. ```jsx live=true import React from 'react'; import { Spin } from '@douyinfe/semi-ui'; import { IconLoading } from '@douyinfe/semi-icons'; () => (
A spin with customized indicator.
} />
); ``` ### Delay Delayed to display Spin. ```jsx live=true hideInDSM import React, { useState } from 'react'; import { Spin, Button } from '@douyinfe/semi-ui'; () => { const [loading, toggleLoading] = useState(false); const toggle = () => { toggleLoading(!loading); }; return (
); }; ``` ### Controlled Use `spinning` to determine if the component is in loading status ```jsx live=true hideInDSM import React, { useState } from 'react'; import { Spin, Button } from '@douyinfe/semi-ui'; () => { const [loading, toggleLoading] = useState(false); const toggle = () => { toggleLoading(!loading); }; return (
); }; ``` ## API Reference | Properties | Instructions | type | Default | | ---------------- | --------------------------------------------------------- | ---------- | -------- | | childStyle | Inline style for children element **v>=1.0.0** | CSSProperties | - | | delay | Delay timing to display Spin | number(ms) | 0 | | indicator | Indicators | ReactNode | - | | size | Size, one of `small`, `middle`, `large` | string | `middle` | | spinning | Toggle whether it is in loading | boolean | true | | style | Inline style | CSSProperties | - | | tip | Description texts when Spin is used as a wrapping element | ReactNode | - | | wrapperClassName | Class name of wrapping element | string | - | ## Design Tokens ## FAQ - **How to modify the color of the spin icon? ** You can overwrite the original color by adding a color property to the .semi-spin-wrapper class. ``` .semi-spin-wrapper { color: red; } ```