HarmonyOS 鸿蒙Next Tabs子标签页点击Button跳转到一个页面之后,返回怎么让这个子标签页的页面刷新?
HarmonyOS 鸿蒙Next Tabs子标签页点击Button跳转到一个页面之后,返回怎么让这个子标签页的页面刷新?
Tabs子标签页点击Button跳转到一个页面之后,返回怎么让这个子标签页的页面刷新?
楼上说的没错,还有,可以监听父组件页面的onPageShow(){},然后父传子一个标识即可,
父:
[@provide](/user/provide) isShow: boolean = false
onPageShow(){
this.isShow = true
}
onPageHide(){
this.isShow = false
}
Tabs的子标签页:
[@consume](/user/consume)
[@watch](/user/watch)('show')
isShow: boolean
show(){
if(isShow){
//刷新数据
}
}
不过看起来没有楼上两位简便(
组件没有onpageshow事件
页面啊,Tabs没放在页面里面吗,@provide支持后代通信,在放tabs的那个页面里面写onpageshow
但是用Navigation跳转到子TabContent的子页面的话,onPageShow是没有变化的
在页面B的onBackPress里发送事件
onBackPress(): boolean | void { emitter.emit("back") }
在页面A(有tabs的页面)里订阅事件
aboutToAppear(): void { emitter.on("back", () => { // ... }) }
在页面B的onBackPress里发送事件
onBackPress(): boolean | void {
emitter.emit("back")
}
在页面A(有tabs的页面)里订阅事件
aboutToAppear(): void {
emitter.on("back", () => {
// ...
})
}
我好像记得新版的tabs有支持了,tab子页面显示触发事件,隐藏触发事件,你可以搜下api,我手机不方便找
在HarmonyOS鸿蒙系统中,实现Next Tabs子标签页中点击Button跳转到新页面后,返回时刷新原子标签页页面的功能,可以通过以下方式实现:
-
使用页面生命周期管理:在子标签页对应的页面中,重写
onActive
或onPageShow
等生命周期方法。当从其他页面返回时,这些方法会被调用,可以在这些方法中实现页面数据的刷新逻辑。 -
维护页面状态:在跳转到新页面之前,可以将当前页面的状态(如数据、滚动位置等)保存下来。返回时,根据保存的状态恢复页面,达到刷新效果。
-
事件监听与通知:可以通过事件监听机制,在新页面执行完操作并返回时,向原子标签页页面发送一个事件或通知。原子标签页页面接收到事件后,执行刷新操作。
-
使用全局状态管理:如果应用使用了全局状态管理(如使用MVVM架构中的ViewModel),可以在新页面修改全局状态,原子标签页页面监听全局状态的变化,并据此刷新页面。
以上方法可根据具体应用场景选择使用。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。