通过bindContentCover显示全屏模态页面,弹出后需要用手势返回的话,怎样监听到手势返回事件

Button("transition modal 2") 
.margin(10) 
.fontSize(20) 
.onClick(()=>{ 
this.isShow2 = true; 
}).bindContentCover(this.isShow2, this.myBuilder2(), {modalTransition: ModalTransition.NONE, backgroundColor: Color.Orange, onAppear: () => {console.log("BindContentCover onAppear.")}, onDisappear: () => {console.log("BindContentCover onDisappear.")}})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

通过bindContentCover控制模态页面是否显示,手势返回后,该字段值无法设置为false,不能再次触发展示。

HarmonyOS
2024-04-29 17:13:40
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
NingJ

有两种解决方案:

方案一: 双向绑定 使用$$绑定第一个参数,通过手势返回后该值会默认变为false。

.bindContentCover($$this.isShowPlay, this.musicPlayBuilder(), ModalTransition.DEFAULT)
  • 1.

方案二: @Builder  写的自定义组件的第一个组件外层通过onDisAppear监听该组件的消失,在消失的回调中设置该值为false

.onDisAppear(() => {     this.isShowPlay = false; })
  • 1.
分享
微博
QQ
微信
回复
2024-04-30 11:07:09
相关问题
HarmonyOS 如何监听到手手势返回
762浏览 • 1回复 待解决
HarmonyOS 页面返回事件如何监听
771浏览 • 1回复 待解决
HarmonyOS 如何禁用页面返回手势
927浏览 • 1回复 待解决
HarmonyOS 页面如何禁止手势返回
853浏览 • 1回复 待解决
HarmonyOS 子窗口页面返回事件无效
541浏览 • 1回复 待解决
HarmonyOS 禁用滑动返回手势问题
699浏览 • 1回复 待解决
HarmonyOS web组件拦截返回手势
638浏览 • 1回复 待解决
获取左滑返回手势方法
1233浏览 • 1回复 待解决
HarmonyOS 拦截系统返回手势问题
1577浏览 • 1回复 待解决
如何禁用系统左右手势返回
866浏览 • 1回复 待解决
HarmonyOS 手势监听
785浏览 • 1回复 待解决