
如何写精华回答,获更多曝光?
发布
初来乍到,请教各位UU们一个问题:在使用@Builder函数封装一个用于tabBar传值的函数,并且单独放在相同目录的另一个页面中,使用export导出。其中形参有多个,函数里面用条件控制的属性不生效了,但是把builder函数和tabBar的Tabs组件放在同一个页面里能够实现效果,请问大家这个问题的原因和解决思路。
附代码和截图:
let selectedIndex: number = 0
@Builder
export function TabBarComp (isShowIcon: boolean = false, isShowDivider: boolean = false, index: number, name: string) {
Column() {
if (isShowIcon) {
Image($r("app.media.startIcon"))
.size({ width: 18, height: 18 })
.margin({ bottom: 5 })
}
if (isShowIcon) {
Text(name)
.fontSize(15)
.fontColor(selectedIndex === index ? "#ff0066ff" : "#000")
.lineHeight(12)
.margin({ top: 5, bottom: 3 })
} else {
Text(name)
.fontSize(15)
.fontColor(selectedIndex === index ? "#ffffc800" : "#000")
.lineHeight(12)
.margin({ top: 5, bottom: 3 })
}
if (isShowDivider) {
Divider()
.strokeWidth(2)
.color("#ffffc800")
.opacity(selectedIndex === index ? 1 : 0)
}
}
}