HarmonyOS bindSheet导致onBackPress回调链路被打破
bindSheet在覆写shouldDismiss后,Entry的onBackPress回调无法响应,不符合预期。
我们在onBackPress里统一管理了返回逻辑,可以不可以不阻断onBackPress回调?
HarmonyOS
赞
收藏 0
回答 2
待解决
相关问题
HarmonyOS 视频抽帧上传的完成链路
811浏览 • 1回复 待解决
WebView支持4G & WIFI双链路能力吗?
986浏览 • 1回复 待解决
HarmonyOS XComponent创建20+后导致onload回调函数不返回
39浏览 • 1回复 待解决
HarmonyOS 事件回调
263浏览 • 1回复 待解决
HarmonyOS SegmentButton 点击事件回调是哪个? onclick无回调
266浏览 • 1回复 待解决
HarmonyOS Watch没有回调
178浏览 • 1回复 待解决
HarmonyOS Web组件回调
396浏览 • 1回复 待解决
HarmonyOS onNewWant未回调
141浏览 • 1回复 待解决
HarmonyOS onBackPress
25浏览 • 1回复 待解决
希望HarmonyOS提供接口,使移除折叠屏回调的时候可以移除对应回调而不是所有回调
207浏览 • 1回复 待解决
HarmonyOS OH_NativeVSync_FrameCallback是帧前回调还是帧后回调
185浏览 • 1回复 待解决
HarmonyOS 屏幕亮度变化回调
117浏览 • 1回复 待解决
HarmonyOS Slider值回调问题
245浏览 • 1回复 待解决
HarmonyOS 人脸识别回调问题
192浏览 • 1回复 待解决
HarmonyOS onAreaChange回调方法问题
284浏览 • 1回复 待解决
interface回调如何调用
1010浏览 • 1回复 待解决
HarmonyOS 接口回调的写法
132浏览 • 1回复 待解决
HarmonyOS 网络监听回调多次
245浏览 • 1回复 待解决
HarmonyOS Grid拖拽无回调
159浏览 • 1回复 待解决
HarmonyOS 如何声明全局回调函数
500浏览 • 1回复 待解决
HarmonyOS killAllProcesses()无成功的回调
292浏览 • 1回复 待解决
HarmonyOS 点击事件的回调方法
247浏览 • 1回复 待解决
HarmonyOS 活体检测回调问题
377浏览 • 1回复 待解决
HarmonyOS Scroll组件onScroll回调异常
118浏览 • 1回复 待解决
在 HarmonyOS 中,
bindSheet
会覆盖默认的 onBackPress
行为。如果需要在 bindSheet
中保持对 onBackPress
的统一管理,可以手动处理返回逻辑。而不是依赖于默认的事件传播。你可以通过手动设置
shouldDismiss
参数来控制是否应该关闭 bindSheet
,同时确保 onBackPress
事件能够被正确调用。在这种情况下,你需要重写 onBackPress
方法,并手动处理 bindSheet
的关闭操作。### 示例代码
### 解释
onBackPress
:MainPage
组件中重写onBackPress
方法,添加自定义返回逻辑。isShow
为true
,则关闭bindSheet
并返回true
表示事件已被处理。false
,让系统继续处理该事件。shouldDismiss
:bindSheet
配置中重写shouldDismiss
方法,以确保在点击返回按钮时调用自定义返回逻辑。true
以允许默认的关闭行为,但实际的关闭逻辑由onBackPress
方法控制。bindSheet
状态:@State
管理isShow
和sheetHeight
状态。isShow
设置为true
以显示bindSheet
。isShow
设置为false
以关闭bindSheet
。通过上述方法,可以确保在使用
bindSheet
时,不会阻断 onBackPress
回调链路,同时仍然能够自定义 bindSheet
的关闭逻辑。如果有任何进一步的问题或特殊需求,请随时提问。在关闭页面时才会触发onBackPress回调,就算不设置shouldDismiss,关闭bindsheet弹窗也不会触发onBackPress回调的。