HarmonyOS鸿蒙Next中怎么实现组件调用者不写ui,触发弹窗?

HarmonyOS鸿蒙Next中怎么实现组件调用者不写ui,触发弹窗? 封装一个版本更新sdk,调用者不用在他的页面写任何ui,而只是调用sdk弹出升级弹窗。怎么做?

15 回复

更多关于HarmonyOS鸿蒙Next中怎么实现组件调用者不写ui,触发弹窗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


嗯嗯,对,

这是修改后的文本

目前写了一个可以弹窗的。

等有时间我再分享下。

对不起,由于提供的内容中没有包含HTML代码,无法进行转换。请提供包含HTML代码的内容以便进行转换。

建议使用window来展示弹窗,可以不绑定组件在类中使用

基本信息

  • 项目名称: 窗口管理
  • 当前状态: 活跃
  • 负责人: 张三
  • 联系方式: zhangsan@example.com
  • 备注: window那个需要传page

你不是要封装吗?没有UI页面怎么展示?

你肯定要把调用显示和隐藏方法,还有UI界面一起封装呀!然后用户只需要调用你暴露出来的方法进行传参就行,不然哪有自定义的弹窗呀,

我的意思是window那个方式需要传一个main_page.json里面配置的page,而har包里面没有。所以,最后用的那个自定义dialog。当时不会,写法显示调用ui dialog组件有些不同。导致我一开始不知道如何去写。后来,大概就是定义一个组件,里面放一个dialogcontroller=New CustomDialogController({

builder: @CustomDialog修饰的组件

})

其中,dialogcontroller要定义在外层。@CustomDialog修饰的组件里面接受的参数不能再用任何状态修饰符(这是我最大的堵点)。

WrappedBuilder WrappedBuilder方式报错

![cke_429.jpeg](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/081/525/865/0260086000081525865.20240921213326.41067351463565148254702194343250:50001231000000:2800:4EA85A2E45C15768238F2162C8B5464EE2B86DE6B3BABFEC3FF81387B516FCE6.jpeg)

![cke_747.jpeg](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/081/525/865/0260086000081525865.20240921213336.25742810396809887563095449032759:50001231000000:2800:699020478640F33DF826F2C3CEC79728C80FA843602D060D09CCEB7D5CAE70AB.jpeg)

![cke_1105.jpeg](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/081/525/865/0260086000081525865.20240921213346.63913050721930657264639968621443:50001231000000:2800:9D8ECF78A95860EF87A0CEED51A90ADEF3B1D89553B140703CAC934CC53088F3.jpeg)

有很多Dialog,比如AlertDialog.show,你传配置信息进去就行了

调用一个class中的一个函数打开弹窗类似于promptAction.showDialog那样可以在类中打开的弹窗。里面要自定义内容,

请问你实现了嘛,我也有这样一个需求,目前我还实现不了,各种报错,

你给个邮箱,我发给你demo,

在HarmonyOS鸿蒙Next中,可以通过自定义组件和事件机制实现组件调用者不写UI,触发弹窗。首先,创建一个自定义组件,内部封装弹窗逻辑。然后,使用@State@Prop管理弹窗状态,并通过@CustomDialog定义弹窗内容。最后,在组件中通过事件触发弹窗显示。调用者只需引入组件并触发事件,无需编写UI代码。

回到顶部