HarmonyOS 鸿蒙Next Tabs选项卡组件有懒加载吗
HarmonyOS 鸿蒙Next Tabs选项卡组件有懒加载吗
我的tab是网络动态获取的,每一个tabcontent里面都是一个网络请求。会出现一次性全部页面都加载出来的情况吗?
2 回复
目前tabs没有懒加载能力,可以看以下示例是否可以满足你的需求:
[@Entry](/user/Entry)
[@Component](/user/Component)
struct Index3 {
[@State](/user/State) currentIndex: number = 0
[@State](/user/State) tabContentArr: boolean[] = [true, false, false, false]
tabContents: string[] = ["首页", "推荐", "发现", "我的"]
build() {
Row() {
Column() {
Tabs({ barPosition: BarPosition.End }) {
ForEach(this.tabContents, (item: string, index) => {
TabContent() {
if (this.currentIndex === index || this.tabContentArr[index]) {
TabChild({ index: this.currentIndex })
}
}.tabBar(item)
})
}
.onChange((index) => {
this.currentIndex = index
this.tabContentArr[index] = true
})
}
.width('100%')
}
.height('100%')
}
}
[@Component](/user/Component)
export struct TabChild {
[@Prop](/user/Prop) index: number = 0;
build() {
Column() {
Text(this.index + '')
}
}
}