#Loading 加载
提示内容正在加载或操作正在进行。
#加载提示
正在加载
basic.tsx
import { Loading } from '@ifhover/leaf-ui';
export function LoadingBasic() {
return <Loading tip="正在加载" />;
}
#不同尺寸
小尺寸
默认尺寸
大尺寸
sizes.tsx
import { Flex, Loading, Text } from '@ifhover/leaf-ui';
export function LoadingSizes() {
return (
<Flex gap="md" align="center" wrap justify="center">
<Flex direction="column" gap="sm" align="start">
<Text>小尺寸</Text>
<Loading size="sm" />
</Flex>
<Flex direction="column" gap="sm" align="start">
<Text>默认尺寸</Text>
<Loading />
</Flex>
<Flex direction="column" gap="sm" align="start">
<Text>大尺寸</Text>
<Loading size="lg" />
</Flex>
</Flex>
);
}
#区域加载
加载时覆盖内容区域,完成后恢复操作。
Leaf Garden
在此查看项目概览和最近更新。
overlay.tsx
import { Button, Card, Loading, Space } from '@ifhover/leaf-ui';
import { useState } from 'react';
export function LoadingOverlay() {
const [spinning, setSpinning] = useState(true);
return (
<Space direction="vertical" align="stretch">
<Button variant="outline" onClick={() => setSpinning(!spinning)}>
{spinning ? '结束加载' : '开始加载'}
</Button>
<Loading spinning={spinning} tip="正在读取项目" delay={200}>
<Card>
<strong>Leaf Garden</strong>
<p>在此查看项目概览和最近更新。</p>
<Button variant="outline">编辑项目</Button>
</Card>
</Loading>
</Space>
);
}
#Loading API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
spinning | boolean | true | 是否加载中 |
size | 'sm' | 'md' | 'lg' | 'md' | 图标尺寸 |
tip | ReactNode | — | 提示文字 |
delay | number | 0 | 延迟显示,单位毫秒 |
children | ReactNode | — | 覆盖的内容 |
#类型
可导入以下类型定义属性、组装数据或处理回调。
import type { LoadingProps } from '@ifhover/leaf-ui';#使用说明
独立使用展示加载提示;传入 children 后覆盖所在区域,并在显示加载层时阻止操作。delay 可避免短暂请求造成闪现。