场景:构建不同的UI组件,不同板块“查看更多”的文案不一样,更加灵活的复用UI组件
定义语法:@Builder MyBuilderFunction(title:string){}
使用方法:this.MyBuilderFunction('Title')
评价(200+) 好评度94%
推荐 查看全部
好货测评 6条测评
此时就用到了@Builder构建函数的传递参数语法
2种传参类型:
1:按值传参 不会驱动UI更新
2:引用传递 相当于传递对象,对象地址不变,引用对象依旧存在
Example:按值传递(通过值的传递,不会引起UI的变化)
@Entry
@Component
struct Index {
@Builder
MoreBuilder(title:string){
Row(){
Text(title) //引用title
.fontColor('14')
.fontColor('#999')
Image($r('app.media.ic_public_arrow_right'))
.width('16')
.aspectRatio(1) //设置宽高比
.fillColor('#999')
}
}
build() {
this.MoreBuilder('好评率94%')
}
引用传递
@Entry
@Component
struct Index {
@Builder
MoreBuilder(params:{title:string}){
Row(){
Text(params.title) //引用title
.fontColor('14')
.fontColor('#999')
Image($r('app.media.ic_public_arrow_right'))
.width('16')
.aspectRatio(1) //设置宽高比
.fillColor('#999')
}
}
build() {
this.MoreBuilder({ title: '查看更多' })
}