diff --git a/zh-cn/application-dev/reference/apis-arkui/figures/builderNode_consume.png b/zh-cn/application-dev/reference/apis-arkui/figures/builderNode_consume.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bbbff9d000047ea77320212172e4a488f19da19
Binary files /dev/null and b/zh-cn/application-dev/reference/apis-arkui/figures/builderNode_consume.png differ
diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md
index 9d04dd08efe6d8e41fda2af3f6fa48472c1ce71a..cdb2902f9340d5700a124984d7058ebbaf83dae2 100644
--- a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md
+++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-builderNode.md
@@ -10,10 +10,12 @@
>
> 当前不支持在预览器中使用BuilderNode。
>
-> BuilderNode下的自定义组件支持使用[@Prop](../../ui/state-management/arkts-prop.md)装饰器,不支持使用[@Reusable](../../ui/state-management/arkts-create-custom-components.md#自定义组件的基本结构)、[@Link](../../ui/state-management/arkts-link.md)、[@Provide](../../ui/state-management/arkts-provide-and-consume.md)、[@Consume](../../ui/state-management/arkts-provide-and-consume.md)装饰器。
+> BuilderNode下的自定义组件支持使用[@Prop](../../ui/state-management/arkts-prop.md)装饰器,不支持使用[@Reusable](../../ui/state-management/arkts-create-custom-components.md#自定义组件的基本结构)、[@Link](../../ui/state-management/arkts-link.md)。
>
> 从API version 12开始,自定义组件支持接收[LocalStorage](../../ui/state-management/arkts-localstorage.md)实例。可以通过[传递LocalStorage实例](../../ui/state-management/arkts-localstorage.md#自定义组件接收localstorage实例)来使用LocalStorage相关的装饰器[@LocalStorageProp](../../ui/state-management/arkts-localstorage.md#localstorageprop)、[@LocalStorageLink](../../ui/state-management/arkts-localstorage.md#localstoragelink)。
>
+> 从API version 20开始,通过配置[BuildOptions](#buildoptions12),内部自定义组件的[@Consume](../../ui/state-management/arkts-provide-and-consume.md)支持接收所在页面的[@Provide](../../ui/state-management/arkts-provide-and-consume.md)数据。
+>
> 其余装饰器行为未定义,不建议使用。
@@ -208,7 +210,8 @@ build的可选参数。
| 名称 | 类型 | 必填 | 说明 |
| ------------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| nestingBuilderSupported |boolean | 否 | 是否支持Builder嵌套Builder进行使用。其中,false表示Builder使用的入参一致,true表示Builder使用的入参不一致。默认值:false
**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
-| localStorage20+ |[LocalStorage](../../ui/state-management/arkts-localstorage.md) | 否 | 给当前builderNode设置localStorage,挂载在此builderNode下的自定义组件共享该localStorage,如果自定义组件构造函数同时也传入localStorage,优先使用构造函数中传入的localStorage。默认值:null
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务
+| localStorage20+ |[LocalStorage](../../ui/state-management/arkts-localstorage.md) | 否 | 给当前BuilderNode设置LocalStorage,挂载在此BuilderNode下的自定义组件共享该LocalStorage。如果自定义组件构造函数同时也传入LocalStorage,优先使用构造函数中传入的LocalStorage。默认值:null。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 |
+| enableProvideConsumeCrossing20+ | boolean | 否 | 定义BuilderNode内自定义组件的@Consume是否与所在页面的@Provide状态互通。true表示支持,false表示不支持。默认值:false。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。|
### InputEventType20+
@@ -1885,3 +1888,76 @@ struct TextBuilder {
```

+
+### 示例7(BuilderNode支持内部@Consume接收外部的@Provide数据)
+
+设置BuilderNode的BuildOptions中enableProvideConsumeCrossing为true,以实现BuilderNode内部自定义组件的@Consume与所在自定义组件的@Provide数据互通。
+
+```ts
+import { BuilderNode, NodeContent } from '@kit.ArkUI';
+
+@Component
+struct ConsumeChild {
+ @Consume @Watch("ChangeData") message: string = ""
+
+ ChangeData() {
+ console.log(`ChangeData ${this.message}`);
+ }
+
+ build() {
+ Column() {
+ Text(this.message)
+ .fontWeight(FontWeight.Bold)
+ .fontSize(20)
+ Button("Click to change message to append C")
+ .fontWeight(FontWeight.Bold)
+ .onClick(() => {
+ this.message = this.message + "C"
+ })
+ }
+ }
+}
+
+@Builder
+function CreateText(textMessage: string) {
+ Column() {
+ Text(textMessage)
+ .fontWeight(FontWeight.Bold)
+ .fontSize(20)
+ ConsumeChild()
+ }
+}
+
+@Entry
+@Component
+struct Index {
+ @Provide message: string = 'Hello World';
+ private content: NodeContent = new NodeContent();
+ private builderNode: BuilderNode<[string]> = new BuilderNode<[string]>(this.getUIContext());
+
+ aboutToAppear(): void {
+ this.builderNode.build(wrapBuilder(CreateText), "Test Consume", { enableProvideConsumeCrossing: true })
+ this.content.addFrameNode(this.builderNode.getFrameNode())
+ }
+
+ build() {
+ Column() {
+ Text(this.message)
+ .fontWeight(FontWeight.Bold)
+ .fontSize(20)
+ Button("Click to change message to append I")
+ .fontWeight(FontWeight.Bold)
+ .onClick(() => {
+ this.message = this.message + "I";
+ })
+ Column() {
+ ContentSlot(this.content)
+ }
+ }
+ .height('100%')
+ .width('100%')
+ }
+}
+```
+
+
diff --git a/zh-cn/application-dev/ui/arkts-user-defined-arktsNode-builderNode.md b/zh-cn/application-dev/ui/arkts-user-defined-arktsNode-builderNode.md
index 225578bcde4921015630d814ae319880f7f4383e..ab6b77daa7ee8068943a2bdb55998d99d1f0a4b1 100644
--- a/zh-cn/application-dev/ui/arkts-user-defined-arktsNode-builderNode.md
+++ b/zh-cn/application-dev/ui/arkts-user-defined-arktsNode-builderNode.md
@@ -1273,4 +1273,10 @@ struct TextBuilder {
}
```
-
\ No newline at end of file
+
+
+## 设置BuilderNode支持内部@Consume接收外部的@Provide数据
+
+从API version 20开始,通过配置BuildOptions参数,BuilderNode内部自定义组件的[@Consume](./state-management/arkts-provide-and-consume.md)支持接收所在页面的[@Provide](./state-management/arkts-provide-and-consume.md)数据。
+
+参见[示例代码](../reference/apis-arkui/js-apis-arkui-builderNode.md#示例7buildernode支持内部consume接收外部的provide数据)。