# ContainerCustomProps API 文档
本文档由 `DeepSeek R1` 模型生成并微调。
---
```mermaid
graph LR
ContainerCustomProps --> ContainerProps --> BaseProps
click ContainerProps "./ContainerProps"
click BaseProps "./BaseProps"
```
---
## 接口定义
```typescript
interface ContainerCustomProps extends ContainerProps {
/**
* 自定义容器渲染函数
* @param canvas - 离屏画布对象(已应用容器的变换矩阵)
* @param children - 所有子元素(未经过滤,按照 zIndex 从小到大排列)
* @param transform - 容器自身相对于父元素的变换矩阵
*/
render?: (
canvas: MotaOffscreenCanvas2D,
children: RenderItem[],
transform: Transform
) => void;
}
```
---
## 核心能力
1. **虚拟化渲染**:通过自定义筛选逻辑实现仅渲染想要渲染的内容
2. **渲染劫持**:完全接管子元素的绘制流程
---
## 完整示例集
### 示例 1:默认渲染模式(等同普通容器)
```tsx
// 不传 render 参数时,自动渲染全部子元素
```
---
### 示例 2:部分渲染(仅显示可见区域)
```tsx
const render = (
canvas: MotaOffscreenCanvas2D,
children: RenderItem[],
transform: Transform
) => {
// 在 [0, 0, 200, 200] 之外的内容不渲染
children.forEach(child => {
const rect = child.getBoundingRect();
// 不在范围内的排除
if (
rect.right < 0 ||
rect.bottom < 0 ||
rect.left > 200 ||
rect.top > 200
)
return;
child.renderContent(canvas, transform);
});
};
{/* 循环渲染 */}
{items.map((item, i) => (
))}
;
```