HarmonyOS 选项卡 (Tabs)跨越切换时,会加载所有跨越的TabContent

​有50个Tabs,对应50个TabContent。

当前在第1个tab,通过点击第50个Tab。

在切换到第50个TabContent的时候,会初始化第2-49个所有的TabContent。​

HarmonyOS
2024-11-27 09:14:54
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

参考这个demo,点击哪个tab再去渲染哪个tab。

@Entry 
@Component 
struct Index3 { 
  @State currentIndex: number = 0 
  @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]) { 
                Text(this.tabContents[this.currentIndex]) 
              } 
            }.tabBar(item) 
          }) 
        } 
        .onChange((index) => { 
          this.currentIndex = index 
          this.tabContentArr[index] = true 
        }) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
2024-11-27 14:42:20
相关问题
Tabs选项绑定onClick事件之后无法切换
1881浏览 • 0回复 待解决
Tabs组件TabContent滑到边缘问题
380浏览 • 0回复 待解决
HarmonyOS Tabs组件切换
284浏览 • 1回复 待解决