1# ContentSlot 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @sd-wu--> 5<!--Designer: @sunbees--> 6<!--Tester: @liuli0427--> 7<!--Adviser: @HelloCrease--> 8 9用于渲染并管理Native层使用C-API创建的组件。 10 11支持混合模式开发,当容器是ArkTS组件,子组件在Native侧创建时,推荐使用ContentSlot占位组件。 12 13> **说明:** 14> 15> 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 16 17## 接口 18 19ContentSlot(content: Content) 20 21当内容添加到占位符组件时调用。 22 23**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 24 25**系统能力:** SystemCapability.ArkUI.ArkUI.Full 26 27**参数:** 28 29| 参数名 | 类型 | 必填 | 说明 | 30| ------- | -------- | ---- | ------------------------------------------------------------ | 31| content | [Content](#content) | 是 | Content作为ContentSlot的管理器,通过Native侧提供的接口,可以注册并触发ContentSlot的上下树事件回调以及管理ContentSlot的子组件。 | 32 33## Content 34 35type Content = Content 36 37定义ComponentContent和NodeContent的基类。 38 39**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 40 41**系统能力:** SystemCapability.ArkUI.ArkUI.Full 42 43| 类型 | 说明 | 44| ---- | ------------------------------------------------------------ | 45| [Content](../js-apis-arkui-Content.md) | 定义ComponentContent和NodeContent的基类。 | 46 47## 示例 48 49下面的示例展示了ContentSlot的基本用法。 50 51```ts 52import { nativeNode } from 'libNativeNode.so'; // 开发者自己实现的so 53import { NodeContent } from '@kit.ArkUI'; 54 55@Entry 56@Component 57struct Parent { 58 private nodeContent: Content = new NodeContent(); 59 60 aboutToAppear() { 61 // 通过C-API创建节点,并添加到管理器nodeContent上 62 nativeNode.createNativeNode(this.nodeContent); 63 } 64 65 build() { 66 Column() { 67 // 显示nodeContent管理器里存放的Native侧的组件 68 ContentSlot(this.nodeContent) 69 } 70 } 71} 72``` 73 74上述代码中so的实现可参考[Native XComponent](https://gitcode.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Native/NdkXComponent)。 75 76