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组件切换
347浏览 • 1回复 待解决
HarmonyOS Tabs控件切换卡顿
30浏览 • 1回复 待解决
Navigation实现Tabs切换效果
1233浏览 • 1回复 待解决
HarmonyOS 组件切换深色模式生效
404浏览 • 1回复 待解决
HarmonyOS 页面更新
26浏览 • 1回复 待解决
如何禁止Tabs的系统切换逻辑
2180浏览 • 0回复 待解决
HarmonyOS 页面切换问题
469浏览 • 1回复 待解决
Tabs选项绑定onClick事件之后无法切换
1916浏览 • 0回复 待解决
HarmonyOS 代码延迟时间执行方法
459浏览 • 1回复 待解决