组件整体架构
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 在我们之前的章节中已经有所讲解了,至于该三方库的源码是否公开,目前还没有想好,因此这里仅展示了一些设计原则,依赖关系等,方便开发者在使用时能够更加清晰地理解为什么这样用。
RcList / RcListItem
+-- RcIcon (额外图标渲染)
+-- RcSwitch (开关组件)
+-- RcUIBaseStyle (全局基础样式)
+-- RcGlobalConfig (全局配置)
+-- getSizeByUnit (尺寸工具函数)
提示:
RcIcon和RcSwitch是 rchoui 内置的基础组件,RcList通过组合而非继承的方式复用它们。
类型系统设计
2.1 核心类型总览

index.type.ets 中定义了完整的类型体系,分为联合类型、两大类:


