SiiUI 组件库
提示
版本要求:SiiUI 语法从 v1.1.0 开始支持
SiiUI 是 Sii 语言内置的声明式 UI 组件库,提供了丰富的预置组件,让您能够快速构建现代化的 Web 界面。
核心特性
声明式语法
使用简洁的组件语法构建界面,支持链式属性调用和嵌套结构:
@Component
struct MyApp {
@BuilderUI {
Col()
.gap(24)
.padding(16)
.backgroundColor("#f5f5f5")
{
Text("欢迎使用 SiiUI")
.fontSize(h1)
.color("#333")
.fontWeight(bold)
Button("开始使用")
.backgroundColor("#007bff")
.color("white")
.padding(12)
.borderRadius(8)
}
}
}
丰富的组件生态
提供 200+ 预置组件,涵盖:
- 布局组件:Row、Col、Flex、Grid 等
- 文本组件:Text、Code、Markdown 等
- 表单组件:TextInput、Select、Checkbox 等
- 数据展示:Table、List、Card、Chart 等
- 反馈组件:Alert、Toast、Modal 等
- 媒体组件:Image、Video、Audio 等
- 动画组件:Fade、Slide、Scale 等
统一的属性系统
所有组件都支持统一的属性系统:
// 布局属性
.width("100%")
.height("200px")
.margin(16)
.padding(24)
// 样式属性
.backgroundColor("#ffffff")
.color("#333333")
.fontSize(h2)
.borderRadius(8)
// 交互属性
.onClick(handleClick)
.disabled(false)
.loading(true)
响应式设计
内置响应式支持,轻松适配不同设备:
Responsive()
.mobile({ width: "100%", padding: 16 })
.tablet({ width: "80%", padding: 24 })
.desktop({ width: "60%", padding: 32 })
{
Card() {
// 内容
}
}
快速开始
1. 创建 SiiUI 项目
sii init-web my-siiui-app
cd my-siiui-app
2. 编写第一个组件
@Component
struct HelloWorld {
@BuilderUI {
Col()
.padding(32)
.textAlign(center)
{
Text("Hello, SiiUI!")
.fontSize(h1)
.color("#007bff")
.marginBottom(16)
Button("点击我")
.backgroundColor("#28a745")
.color("white")
.padding(12, 24)
.borderRadius(6)
.onClick(() => {
print("按钮被点击了!");
})
}
}
}
3. 运行项目
sii run --web <project-name> --serve
详细说明:关于项目创建、构建和运行的完整命令说明,请查看 安装与 CLI 指南。
组件分类
基础组件
- 布局:Row、Col、Stack、Flex、Grid
- 文本:Text、Code、Pre、Markdown
- 按钮:Button、IconButton、FloatingButton
表单组件
- 输入:TextInput、TextArea、Search
- 选择:Select、Radio、Checkbox、Switch
- 日期:DatePicker、TimePicker、DateTimePicker
数据展示
- 列表:List、ListItem、VirtualList
- 表格:Table
- 卡片:Card、CardHeader、CardBody、CardFooter
- 图表:Chart、PieChart、BarChart、LineChart
反馈组件
- 提示:Alert、Toast、Snackbar、Tooltip
- 弹窗:Modal、Dialog、Popover
- 状态:Loading、Spinner、Empty、Error
媒体组件
- 图片:Image、Avatar、Gallery、Carousel
- 视频:Video、Audio、Player
动画组件
- 过渡:Fade、Slide、Scale、Rotate
- 高级:Animate、Transition、Keyframe、Spring
设计原则
1. 一致性
所有组件遵循统一的设计语言和 API 规范
2. 可组合性
组件可以自由组合和嵌套,构建复杂的界面
3. 可扩展性
支持自定义样式和属性,满足个性化需求
4. 性能优化
内置虚拟化、懒加载等性能优化机制