Carbon Components Svelte 组件库深度解析:核心组件API详解
2025-07-10 06:15:41作者:戚魁泉Nursing
Carbon Components Svelte 是基于IBM Carbon设计系统的Svelte实现版本,提供了一系列高质量的UI组件。本文将深入解析该库中核心组件的API设计和使用方法。
一、Accordion 手风琴组件
1.1 Accordion 基础组件
Accordion组件提供了可折叠内容区域的功能,主要属性包括:
align
: 控制展开图标对齐方式("start"或"end")size
: 设置尺寸("sm"或"xl")disabled
: 禁用整个手风琴skeleton
: 显示骨架屏状态
<script>
import { Accordion } from 'carbon-components-svelte';
</script>
<Accordion align="start" size="sm">
<!-- 子内容 -->
</Accordion>
1.2 AccordionItem 子项组件
每个可折叠区域使用AccordionItem组件:
title
: 设置标题文本open
: 控制是否默认展开disabled
: 禁用单个项iconDescription
: 设置展开图标的ARIA标签
<AccordionItem title="Section 1" open={true}>
<p>这里是可折叠的内容</p>
</AccordionItem>
1.3 骨架屏状态
AccordionSkeleton组件用于加载状态展示:
count
: 控制渲染的项数open
: 控制第一个项是否显示为展开状态
二、Breadcrumb 面包屑导航
2.1 基础面包屑
Breadcrumb组件提供导航路径展示:
noTrailingSlash
: 隐藏末尾斜杠skeleton
: 显示骨架屏状态
<Breadcrumb>
<BreadcrumbItem href="/">首页</BreadcrumbItem>
<BreadcrumbItem href="/products">产品</BreadcrumbItem>
<BreadcrumbItem isCurrentPage={true}>详情</BreadcrumbItem>
</Breadcrumb>
2.2 BreadcrumbItem 子项
href
: 设置链接地址isCurrentPage
: 标记当前页面项
三、Button 按钮组件
Button组件提供了多种样式和尺寸:
kind
: 按钮类型(primary/secondary/tertiary等)size
: 尺寸(default/field/small等)expressive
: 使用更大的字体isSelected
: 选中状态(仅图标按钮)icon
: 设置图标iconDescription
: 图标ARIA标签
<Button kind="primary" size="lg" icon={Add16}>
主要按钮
</Button>
四、Breakpoint 响应式断点
Breakpoint组件用于响应式布局:
size
: 当前断点大小(sm/md/lg/xlg/max)sizes
: 包含所有断点状态的对象
<Breakpoint let:size let:sizes>
{#if sizes.lg}
<p>在大屏幕上显示</p>
{/if}
</Breakpoint>
五、AspectRatio 宽高比组件
AspectRatio组件用于保持特定宽高比:
ratio
: 设置比例(2x1/16x9/4x3等)
<AspectRatio ratio="16x9">
<img src="hero-image.jpg" alt="Hero image" />
</AspectRatio>
最佳实践建议
- 无障碍性:始终为图标按钮提供
iconDescription
- 响应式设计:合理使用Breakpoint组件实现响应式布局
- 加载状态:在数据加载时使用骨架屏提升用户体验
- 组件组合:将基础组件组合成更复杂的UI模块
通过合理使用这些组件,开发者可以快速构建符合Carbon设计规范的现代化Web应用界面。每个组件都经过精心设计,既保证了视觉一致性,又提供了足够的灵活性来满足各种业务需求。