HarmonyOS 自定义弹窗一定得在组件中去实现并展示么?
由于app设计风格的统一性,我们要求所有的弹窗都基于自定义的弹窗,来做展示。
但我们发现,有些弹窗是没有具体对应的场景,例如登录接口的报错。我们有好几个登录的场景,同时还有一套自动重连的机制,登录的报错,之前我们直接在非组件里面用promptAction.showDialog()系统弹窗去弹了,但如果需要改成自定义弹窗,这块就很难处理了。是否有比较好的办法解决。
这类场景在其他平台中,直接就可以弹,自定义弹窗跟系统弹窗不会有逻辑上的限制。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
在ArkUI中,如何实现一个自定义弹窗组件?
624浏览 • 1回复 待解决
HarmonyOS 自定义View中展示PDF,并调用自定义View中的一些接口方法
1407浏览 • 1回复 待解决
使用自定义弹窗实现分享弹窗
1679浏览 • 1回复 待解决
HarmonyOS 自定义UI组件如何在外部引用到自定义UI组件里得方法
1299浏览 • 1回复 待解决
怎么实现自定义弹窗1打开自定义弹窗2
4065浏览 • 1回复 待解决
请问自定义弹窗怎么设置挂载的父组件,而不是默认在定义controller的组件上展示?
1229浏览 • 1回复 待解决
HarmonyOS 全局自定义弹窗的实现
1321浏览 • 1回复 待解决
HarmonyOS web组件设置一定高度之后页面无法加载
1176浏览 • 1回复 待解决
自定义弹窗自定义转场动画
2321浏览 • 1回复 待解决
在HarmonyOS开发中如何实现自定义组件?
1161浏览 • 0回复 待解决
如何在全局实现一个自定义dialog弹窗
4023浏览 • 1回复 待解决
HarmonyOS 自定义弹窗怎么设置自定义动画?
1582浏览 • 1回复 待解决
HarmonyOS 自定义弹窗在页面中显示时,如何防止用户侧滑关闭自定义弹窗
1221浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS Next应用中实现自定义弹窗组件的动画效果
1253浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中创建并展示自定义Dialog组件?
1195浏览 • 1回复 待解决
HarmonyOS 无法通过H5调用JSBridge展示自定义弹窗
1183浏览 • 1回复 待解决
HarmonyOS 想实现一个不需要宿主组件的自定义弹窗
1162浏览 • 1回复 待解决
HarmonyOS 自定义弹窗在navigation上的使用
1048浏览 • 1回复 待解决
HarmonyOS 自定义弹窗组件,点击空白处弹窗消失
802浏览 • 1回复 待解决
HarmonyOS 自定义弹窗CustomDialog
1039浏览 • 1回复 待解决
HarmonyOS 自定义弹窗选择
1662浏览 • 1回复 待解决
HarmonyOS 自定义弹窗、自定义键盘自动关闭问题
1536浏览 • 1回复 待解决
在鸿蒙开发里,怎样实现自定义组件并确保其在不同场景下的复用性?
554浏览 • 0回复 待解决
HarmonyOS 在ArkTS类中想调用自定义弹窗
1111浏览 • 1回复 待解决
步骤一:封装路由工具类,并注册自定义弹窗组件。
定义路由工具类AppRouter,并创建路由栈NavPathStack。
在根页面中注册NavPathStack。
在.navDestination注册封装的自定义弹窗组件DefaultDialog。
步骤二:封装弹窗UI组件。
定义弹窗选项类AppDialogOption。
定义弹窗样式类AppDialogStyle。
创建自定义弹窗组件DefaultDialog。
通过Stack布局及2个Column容器实现模态遮罩和自定义弹窗内容,通过NavDestinationMode定义页面类型。
通过.backgroundColor设置模态遮罩的背景颜色。
通过Stack.alignContent设置弹窗定位。
步骤三:封装弹窗控制器,与UI组件解耦。
提供链式调用的Api。
步骤四:页面与弹窗,弹窗与弹窗之间传递参数。
通过路由跳转NavPathStack.pushPathByName传递参数。
在弹窗组件的.onReady事件中获取路由跳转参数。
上一个弹窗在关闭时传入参数。
步骤五:实现弹窗自定义动画。
通过.transition属性分别实现背景和内容的转场动画。
通过监听模态遮罩的点击事件实现关闭动画。
步骤五:实现自定义弹窗内容。
在弹窗内容的Column容器中传入WrappedBuilder来实现动态的自定义弹窗内容。
定义弹窗内容组件。
步骤六:侧滑手势拦截。
在弹窗组件的.onBackPressed事件中进行拦截。
使用效果:
使用弹窗控制器即可在非UI业务逻辑中打开弹窗。
关闭弹窗。