HarmonyOS bindSheet导致onBackPress回调链路被打破
bindSheet在覆写shouldDismiss后,Entry的onBackPress回调无法响应,不符合预期。
我们在onBackPress里统一管理了返回逻辑,可以不可以不阻断onBackPress回调?
HarmonyOS
赞
收藏 0
回答 2
待解决
相关问题
HarmonyOS 视频抽帧上传的完成链路
555浏览 • 1回复 待解决
WebView支持4G & WIFI双链路能力吗?
762浏览 • 1回复 待解决
HarmonyOS 事件回调
40浏览 • 1回复 待解决
HarmonyOS SegmentButton 点击事件回调是哪个? onclick无回调
41浏览 • 1回复 待解决
HarmonyOS Web组件回调
216浏览 • 1回复 待解决
HarmonyOS Navigation路由打开的entry页面,不回调onBackPress方法,怎么监听侧滑操作?
239浏览 • 1回复 待解决
HarmonyOS 活体检测回调问题
217浏览 • 1回复 待解决
HarmonyOS 如何声明全局回调函数
342浏览 • 1回复 待解决
HarmonyOS killAllProcesses()无成功的回调
186浏览 • 1回复 待解决
interface回调如何调用
937浏览 • 1回复 待解决
自定义组件中onBackPress方法不回调,只有页面的此方法会回调, 如果想在自定义组件中也能监听到此方法咋办
1839浏览 • 1回复 待解决
HarmonyOS OHAUdio 音频回调数量不足
43浏览 • 1回复 待解决
HarmonyOS 生命周期回调触发
57浏览 • 1回复 待解决
HarmonyOS Scroll组件回调事件问题
196浏览 • 1回复 待解决
HarmonyOS ArkTS接口回调的案例
544浏览 • 1回复 待解决
HarmonyOS http请求回调后,showToast报错。
73浏览 • 1回复 待解决
HarmonyOS onScroll回调yoffset不准确问题
480浏览 • 1回复 待解决
HarmonyOS 自定义interface回调问题
185浏览 • 1回复 待解决
HarmonyOS 组件是否有销毁回调方法
609浏览 • 1回复 待解决
HarmonyOS ArkTS接口回调的案例问题
672浏览 • 1回复 待解决
HarmonyOS CustomDialog 中cancel回调没有执行
496浏览 • 1回复 待解决
Flutter - EventChannel回调问题
191浏览 • 1回复 待解决
HarmonyOS web组件的回调中全部不支持async,导致无法在其中将异步接口同步化
52浏览 • 1回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调
311浏览 • 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回调的。