如何取消TabContent在滚动的过程中,过渡阶段仍然显示当前界面的数据

如何取消TabContent在滚动的过程中,过渡阶段仍然显示当前界面的数据。

HarmonyOS
2024-09-23 11:36:43
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

Tabs里的TabContent实际为同一个对象,而这个对象的数据又由页签值Index控制,导致出现了页签切换完成后数据才变化的情况,建议在构建tabs时使用不同的对象作为TabContent,参考以下写法:

@Entry  
@Component  
export struct SplashPage {  
  @StorageProp('currentBreakpoint') currentBreakpoint: string = 'sm';  
  private titles = ['1', '2', '3']  
  @State currentIndex: number = 0  
  @State datas: Array<Array<string>> = [['A1', "B1", 'C1', 'D1'],['A2', "B2", 'C2', 'D2'],['A3', "B3", 'C3', 'D3']]  
  private controller: TabsController = new TabsController()  
  
  build() {  
    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center }) {  
      Column() {  
        Tabs({ barPosition: BarPosition.Start, controller: this.controller }) {  
          ForEach(this.titles, (item: string, index: number) => {  
            TabContent() {  
              List() {  
                ForEach(this.datas[Number(item)-1], (item: string) => {  
                  ListItem(){  
                    Text(item).fontSize(20).height(45).width('100%')  
                  }  
                })  
              }.width('100%').height('100%').border({ color: '#F5F5F5', width: 1 })  
            }  
          })  
        }  
        .vertical(false)  
        .animationDuration(300)  
        .onChange((index: number) => {  
          this.currentIndex = index  
        })  
      }.width('100%').height('100%')  
      .layoutWeight(1)  
    }  
    .height('100%')  
    .width('100%')  
    .backgroundColor(Color.Green)  
  }  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
分享
微博
QQ
微信
回复
2024-09-23 18:00:26


相关问题
HarmonyOS TabContent与父界面的变量传递
557浏览 • 1回复 待解决
HAP编译过程中,本地依赖tgz
1314浏览 • 1回复 待解决
mysql存储过程中处理多条数据
2549浏览 • 1回复 待解决
HarmonyOS 动画过程中UI残留
559浏览 • 1回复 待解决
如何处理语音识别过程中错误?
660浏览 • 0回复 待解决
Lite Wearable 开发过程中疑问
11605浏览 • 2回复 待解决
录制过程中HarmonyOS如何切换摄像头
910浏览 • 1回复 待解决
HarmonyOS napi开发过程中泄漏问题
584浏览 • 1回复 待解决