HarmonyOS Tabs 切换,页面不执行 showPage() 方法

启动页Index.ets里有个Tabs,并且有5个TabContent,他们是以组件的方式import进去的,所以没有@Entry修饰,没有showPage()方法能执行,所以请问有什么方案可以在切换Tabs时候,当前TabContent页面能感应到,比如我每次切换一个TabContent都要能监听到他显示跟消失。

HarmonyOS
2024-09-24 11:51:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

Tabs组件切换不执行onPageShow生命周期,因为onPageShow是页面级的生命周期,tabs切换触发的应该是子组件组件级的生命周期aboutToAppear(),可以将showPage()放在该生命周期内调用

如果需要每一次切换都要执行TabContent中的showPage方法,推荐使用onTabBarClick(event: (index: number) => void)获取父组件当前点击的tabIndex,在父组件中通过@State定义一个currentTabIndex变量,在onTabBarClick回调中将index赋值给currentTabIndex,并将这个值传递给TabContent包裹的子组件。在子组件中通过@Props和@Watch来监听父组件传递值的不同,执行各个tabContent中的showPage方法。

分享
微博
QQ
微信
回复
2024-09-24 17:57:51
相关问题
HarmonyOS tabs切换问题
619浏览 • 1回复 待解决
HarmonyOS Tabs组件切换
1310浏览 • 1回复 待解决
HarmonyOS Promise 重复执行执行
1178浏览 • 1回复 待解决
HarmonyOS handleTakePicture执行
755浏览 • 1回复 待解决
HarmonyOS Tabs框架切换问题
801浏览 • 1回复 待解决
HarmonyOS Tabs控件切换卡顿
794浏览 • 1回复 待解决
Navigation实现Tabs切换效果
2535浏览 • 1回复 待解决
HarmonyOS Tabs 切换无法懒加载
748浏览 • 1回复 待解决