闲社服务运行正常AI智能体自动化平台
l

加载状态模式

技能标识:loading-state-patterns

Patterns for skeleton loaders, shimmer effects, and loading states that match design system aesthetics. Covers skeleton components, shimmer animations, and progressive loading. Use when building polished loading experiences. Triggers on skeleton, loading state, shimmer, placeholder, loading animation.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

加载状态模式

加载状态模式

构建有意图的加载状态,使其与你的设计系统美学相匹配。



使用场景

  • - 为内容区域构建骨架加载器
  • 为流式内容添加闪烁效果
  • 实现渐进式加载体验
  • 构建高级加载用户体验

模式1:骨架基础组件

tsx
import { cn } from @/lib/utils;

interface SkeletonProps extends React.HTMLAttributes {
shimmer?: boolean;
}

export function Skeleton({ className, shimmer = true, ...props }: SkeletonProps) {
return (
className={cn(
rounded-md bg-muted,
shimmer && animate-shimmer bg-gradient-to-r from-muted via-muted-foreground/10 to-muted bg-[length:200%_100%],
className
)}
{...props}
/>
);
}

CSS动画

css
@keyframes shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}

.animate-shimmer {
animation: shimmer 1.5s ease-in-out infinite;
}



模式2:内容骨架布局

卡片骨架

tsx
export function CardSkeleton() {
return (















);
}

表格行骨架

tsx
export function TableRowSkeleton({ columns = 4 }: { columns?: number }) {
return (

{Array.from({ length: columns }).map((_, i) => (



))}

);
}

指标骨架

tsx
export function MetricSkeleton() {
return (





);
}


模式3:设计系统骨架

使骨架与你的美学风格相匹配:

tsx
// 适用于复古未来主义主题
export function CyberSkeleton({ className, ...props }: SkeletonProps) {
return (
className={cn(
rounded-md bg-tone-cadet/30,
animate-pulse-glow,
border border-tone-cyan/10,
className
)}
{...props}
/>
);
}

// CSS
@keyframes pulse-glow {
0%, 100% { opacity: 0.4; box-shadow: 0 0 0 0 rgba(var(--tone-cyan), 0); }
50% { opacity: 0.6; box-shadow: 0 0 8px 0 rgba(var(--tone-cyan), 0.1); }
}



模式4:渐进式加载

在内容加载时逐步显示:

tsx
interface ProgressiveLoadProps {
isLoading: boolean;
skeleton: React.ReactNode;
children: React.ReactNode;
}

export function ProgressiveLoad({
isLoading,
skeleton,
children,
}: ProgressiveLoadProps) {
return (


{isLoading ? (
skeleton
) : (
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 0.2 }}
>
{children}

)}

);
}


模式5:流式内容指示器

适用于AI/LLM流式内容:

tsx
export function StreamingIndicator() {
return (


{[0, 1, 2].map((i) => (
key={i}
className=size-1.5 rounded-full bg-primary
animate={{ scale: [1, 1.3, 1], opacity: [0.5, 1, 0.5] }}
transition={{
duration: 0.8,
repeat: Infinity,
delay: i * 0.15,
}}
/>
))}

);
}


模式6:加载进度条

tsx
interface LoadingProgressProps {
progress?: number; // 0-100, undefined = 不确定状态
}

export function LoadingProgress({ progress }: LoadingProgressProps) {
const isIndeterminate = progress === undefined;

return (


className={cn(
h-full bg-primary transition-all duration-300,
isIndeterminate && animate-indeterminate
)}
style={!isIndeterminate ? { width: ${progress}% } : undefined}
/>

);
}

// CSS
@keyframes indeterminate {
0% { transform: translateX(-100%); width: 50%; }
100% { transform: translateX(200%); width: 50%; }
}

.animate-indeterminate {
animation: indeterminate 1.5s ease-in-out infinite;
}



模式7:骨架网格

tsx
export function GridSkeleton({
count = 6,
columns = 3
}: {
count?: number;
columns?: number;
}) {
return (

className=grid gap-4
style={{ gridTemplateColumns: repeat(${columns}, 1fr) }}
>
{Array.from({ length: count }).map((_, i) => (

))}

);
}


相关技能


绝对不要做

  • - 在深色主题上使用灰色骨架 — 匹配你的表面颜色
  • 跳过闪烁动画 — 静态块看起来像损坏的
  • 让骨架尺寸完全精确 — 轻微尺寸变化是自然的
  • 忘记宽高比 — 图片需要一致的骨架比例
  • 永远显示骨架 — 为错误添加超时回退

快速参考

tsx
// 基础骨架

// 头像骨架

// 文本行




// 卡片骨架




标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 loading-state-patterns-1776420065 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 loading-state-patterns-1776420065 技能

通过命令行安装

skillhub install loading-state-patterns-1776420065

下载

⬇ 下载 loading-state-patterns v1.0.0(免费)

文件大小: 3.65 KB | 发布时间: 2026-4-17 19:16

v1.0.0 最新 2026-4-17 19:16
Initial release of loading-state-patterns skill.

- Provides reusable patterns for skeleton loaders, shimmer effects, progressive loading, and polished loading states.
- Includes code examples for skeleton base, cards, tables, metrics, and grid layouts.
- Supports design-system themed skeletons and streaming/loading indicators.
- Offers best practices and "never do" guidelines for consistent UX.
- Quick reference section for common skeleton usage patterns.
返回顶部