一、组件整体架构
1.1 双组件协作模式
RcList 体系采用容器 + 子项的双组件协作模式:
RcList:列表容器,负责滚动控制、边框、间距、背景色、滚动事件派发RcListItem:列表子项,负责单行内容渲染,包含图标、标题、描述、角标、开关、箭头
两者通过 @BuilderParam 插槽机制连接,组合使用时代码结构清晰:
import { RcList, RcListItem } from 'rchoui'
RcList() {
RcListItem({ rcListItemTitle: '第一项' })
RcListItem({ rcListItemTitle: '第二项' })
}
这种设计让容器与子项职责分离,容器只管'怎么滚',子项只管'怎么显示',彼此不耦合。
1.2 文件结构
rchoui/src/main/ets/dataComponents/RcList/
├── index.ets # 组件实现(RcList + RcListItem)
├── index.type.ets # 类型定义(Props、Config 接口)
└── README.md # API 文档
组件将类型定义与实现代码完全分离,遵循单一职责原则。类型文件 index.type.ets 可独立引用,方便二次封装。
1.3 依赖关系图
关于 RcIcon 在我们之前的章节中已经有所讲解了,至于该三方库的源码是否公开,目前还没有想好,因此这里仅展示了一些设计原则,依赖关系等,方便开发者在使用时能够更加清晰的理解,为什么这样用,或者 为什么这个 ui 组件可以通过某种方式来展示等。。
RcList / RcListItem
| +-- RcIcon (额外图标渲染)
| +-- RcSwitch (开关组件)
| +-- RcUIBaseStyle (全局基础样式)
| +-- RcGlobalConfig (全局配置)
| +-- getSizeByUnit (尺寸工具函数)
提示:
RcIcon和RcSwitch是 rchoui 内置的基础组件,RcList通过组合而非继承的方式复用它们。
二、类型系统设计
2.1 核心类型总览
index.type.ets 中定义了完整的类型体系,分为联合类型、接口两大类:
| 类型名 | 类型形式 | 用途 |
|---|---|---|
RcListDirection | 联合类型 | 列表/子项排列方向 |
RcListItemThumbSize | 联合类型 | 缩略图预设尺寸 |
RcListItemLinkType |


