1# wrapBuilder 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @zhangboren--> 5<!--Designer: @zhangboren--> 6<!--Tester: @TerryTsao--> 7<!--Adviser: @zhang_yixin13--> 8 9使用wrapBuilder封装全局@Builder,可以帮助维护代码。开发指南见[wrapBuilder:封装全局@Builder](../../../ui/state-management/arkts-wrapBuilder.md)。 10 11> **说明:** 12> 13> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14 15## wrapBuilder 16 17wrapBuilder\<Args extends Object[]>(builder: (...args: Args) => void): WrappedBuilder\<Args> 18 19wrapBuilder是一个模板函数,返回一个`WrappedBuilder`对象。模板参数`Args extends Object[]`是需要包装的builder函数的参数列表。 20 21**系统能力:** SystemCapability.ArkUI.ArkUI.Full 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| -------------- | -------------------------------------- | ---- | ---- | 27| builder | (...args: Args) => void | 是 | @Builder装饰的全局函数。 | 28 29**示例:** 30 31```ts 32@Builder 33function MyBuilder(value: string, size: number) { 34 Text(value) 35 .fontSize(size) 36} 37let builderVar: WrappedBuilder<[string, number]> = wrapBuilder(MyBuilder); 38``` 39## WrappedBuilder 40 41@Builder函数的包装类。模板参数`Args extends Object[]`应传入@Builder函数的参数类型列表。 42 43**系统能力:** SystemCapability.ArkUI.ArkUI.Full 44 45### 属性 46 47**系统能力:** SystemCapability.ArkUI.ArkUI.Full 48 49| 名称 | 类型 | 只读 | 可选 | 说明 | 50| ------- | ---------------------- | ---- | --- | -------- | 51| builder | (...args: Args) => void | 否 | 否 | @Builder修饰的全局函数。 | 52 53 54### constructor 55 56constructor(builder: (...args: Args) => void) 57 58WrappedBuilder的构造函数。 59 60**系统能力:** SystemCapability.ArkUI.ArkUI.Full 61 62**参数:** 63 64| 参数名 | 类型 | 必填 | 说明 | 65| --------- | --------------------------------------- | ---- | ----------------------------------------------------------------- | 66| builder | (...args: Args) => void) | 是 | @Builder装饰的全局函数。 | 67 68**示例:** 69 70```ts 71@Builder 72function MyBuilder(value: string, size: number) { 73 Text(value) 74 .fontSize(size) 75} 76let builderVar: WrappedBuilder<[string, number]> = new WrappedBuilder<[string, number]>(MyBuilder); 77```