wrapBuilder
注意
wrapBuilder 是
@Builder
的一个集合体,单独写@Builder
也没问题wrapBuilder 只能用在全局@Builder 的类上,局部的用不了
语法结构
ts
// 封装所用的 string 就是参数类型
let GlobalBuilder: WrappedBuilder<[string]>[] = [
wrapBuilder(你自己的写的第1个全局Builder),
wrapBuilder(你自己的写的第2个全局Builder),
];
// 使用所用的
ForEach(GlobalBuilder, (item: WrappedBuilder<[string]>, index) => {
item.builder("测试有没有");
});
注意
- 两个全局 Builder 的参数类型必须一致
代码
ts
// 传递参数 内部值类型
@Builder
function showParams(message: string) {
Text(message).fontSize(22).fontColor(Color.Red)
}
// 传递参数 内部值类型
@Builder
function showParams2(message: string) {
Column() {
Text(message).fontSize(22).fontColor(Color.Green)
Text(message).fontSize(26).fontColor(Color.Green)
}
}
// 封装所用的
let GlobalBuilder: WrappedBuilder<[string]>[] = [
wrapBuilder(showParams),
wrapBuilder(showParams2)
]
@Entry
@Component
struct Index2 {
build() {
Column() {
ForEach(GlobalBuilder, (item: WrappedBuilder<[string]>, index) => {
item.builder("测试有没有")
})
}
}
}