Skeleton 骨架屏
加载中的占位。照着真实组件量出骨架,数据到了不跳动。
基于 skullet:
Skeleton:data为空时,用sample把真实组件隐形地渲染一遍,在每行文字和每个控件上盖一条骨架;数据到了直接换成内容,什么都不会移动。内容高度会变的(列表)要给id,骨架形状按它记住。SkeletonBox:单独一条骨架,给没有组件可量的地方(图表、表格行)。- 形状记在 localStorage,退出登录时调用
forgetShapes()。 - 手写表格的
<TableBody>用 Table 的TableSkeletonRows。
安装
pnpm dlx shadcn@latest add https://docs.linasan.cn/r/skeleton.json第一次装本站的组件前先在项目里执行一次 shadcn init,详见 安装。
用法
import { Skeleton, SkeletonBox } from '@/components/ui/skeleton';
<Skeleton id="user-form" data={data} sample={SAMPLE_USER}>
{(user) => <UserForm user={user} />}
</Skeleton>属性
属性
类型