HarmonyOS tab页面如果想让页面每次展示的时候都调用一遍,该如何实现,onPageShow方法不走

tab页面如果想让页面每次展示的时候都调用一遍,该如何实现,onPageShow方法不走

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

Tabs组件切换不执行onPageShow生命周期,因为onPageShow是页面级的生命周期,tabs切换触发的应该是子组件组件级的生命周期aboutToAppear(), 可以将showPage()放在该生命周期内调用。推荐 使用onTabBarClick(event: (index: number) => void)获取父组件当前点击的tabIndex,在父组件中通过@State定义一个currentTabIndex变量,在onTabBarClick回调中将index赋值给currentTabIndex,并将这个值传递给TabContent包裹的子组件。在子组件中通过@Props和@Watch来监听父组件传递值的不同,执行各个tabContent中的showPage方法。

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 页面如何设置全屏显示?
466浏览 • 1回复 待解决
实现tabBar多个tab滚动
290浏览 • 1回复 待解决
HarmonyOS 调用子组件方法
428浏览 • 1回复 待解决