HarmonyOS 如何在一个class里面promptAction.openCustomDialog 一个自定义弹窗,并动态刷新弹窗里的数据
如何在一个class里面promptAction.openCustomDialog 一个自定义弹窗,并动态刷新弹窗里的数据
比如弹窗的标题是一个倒计时的时间,每秒变化等
import { LifecycleBridgeHandler, ResponseModel } from "@sinochemit/web_bridge";
import promptAction from '@ohos.promptAction'
interface Param {
open: string | boolean;
duration: number | string;
style:number | string
}
export struct PopViewManager{
@Builder customDialogComponent(customDialogComponentId:number) {
Column() {
Text('弹窗').fontSize(30)
Row({ space: 50 }) {
Button("确认").onClick(() => {
promptAction.closeCustomDialog(globalThis.customDialogComponentId)
})
Button("取消").onClick(() => {
promptAction.closeCustomDialog(globalThis.customDialogComponentId)
})
}
}.height(200).padding(5).justifyContent(FlexAlign.SpaceBetween)
}
build() {
}
}
export class OpenRecordVoiceBridgeHandler extends LifecycleBridgeHandler {
static readonly HANDLER_NAME = "openRecordVoice";
public customDialogComponentId: number = 0
jsCallNative(data: string, callback: Function): void {
const param: Param = JSON.parse(data);
if (!param) {
callback(ResponseModel.fail("参数错误"));
return;
}
let duration = 60;
let style = 0;
let play = param.open
duration = Number(param.duration)
style = Number(param.style)
if (play === "false" || play === false){
}
promptAction.openCustomDialog({
builder: () => {
new PopViewManager().customDialogComponent(this.customDialogComponentId)
},
onWillDismiss: (dismissDialogAction: DismissDialogAction) => {
console.info("reason" + JSON.stringify(dismissDialogAction.reason))
console.log("dialog onWillDismiss")
if (dismissDialogAction.reason == DismissReason.PRESS_BACK) {
dismissDialogAction.dismiss()
}
if (dismissDialogAction.reason == DismissReason.TOUCH_OUTSIDE) {
dismissDialogAction.dismiss()
}
}
}).then((dialogId: number) => {
globalThis.customDialogComponentId = dialogId
this.customDialogComponentId = dialogId
})
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
promptAction.openCustomDialog 自定义弹窗
366浏览 • 1回复 待解决
HarmonyOS 怎么使用promptAction.openCustomDialog在全局自定义一个组件
27浏览 • 1回复 待解决
HarmonyOS 如何在 promptAction.openCustomDialog 自定义弹窗中实现动画?
64浏览 • 1回复 待解决
如何在全局实现一个自定义dialog弹窗
2851浏览 • 1回复 待解决
HarmonyOS 如何自定义写一个从上方/底部弹出的一个弹窗
76浏览 • 1回复 待解决
HarmonyOS 如何封装一个类似promptAction.showDialog()一样的自定义弹窗?
487浏览 • 1回复 待解决
HarmonyOS 如何在一个class中创建一个自定义弹框
16浏览 • 1回复 待解决
如何快速开发出一个自定义弹窗?
410浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog是否可以加一个autoCancel的属性?
257浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog弹窗一直存在
39浏览 • 1回复 待解决
实现promptAction.openCustomDialog接口,全局调用自定义弹窗打开
1683浏览 • 1回复 待解决
promptAction.openCustomDialog 全局弹窗
504浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkUI中创建一个自定义弹窗?
184浏览 • 1回复 待解决
HarmonyOS如何封装一个全局使用的bindPopup自定义弹窗?
451浏览 • 1回复 待解决
HarmonyOS 使用promptAction.openCustomDialog创建自定义弹窗builder怎么传参
349浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建一个自定义弹窗(CustomDialog)?
144浏览 • 1回复 待解决
HarmonyOS 弹出一个自定义弹窗,里面包含一个多行输入框,怎么让弹窗弹出的时候,输入框自动获取焦点?
204浏览 • 1回复 待解决
在一个模块a自定义了一个class A,在另一个模块定义class B,如何a模块使用A的时候用B替换
326浏览 • 2回复 待解决
如何在一个非@Entry的类中创建一个CustomDialogController弹窗
464浏览 • 1回复 待解决
HarmonyOS promptAction在显示自定义弹窗的时候,底部会有一个固定宽度的白色底
78浏览 • 1回复 待解决
HarmonyOS 全局自定义弹窗promptAction.openCustomDialog必须在page中是使用吗?
327浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog 自定义宽度&圆角
521浏览 • 1回复 待解决
HarmonyOS 关于promptAction.openCustomDialog创建弹窗的问题
30浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗?
849浏览 • 1回复 待解决
HarmonyOS 想实现一个不需要宿主组件的自定义弹窗
53浏览 • 1回复 待解决
动态刷新的弹窗只有这个uicontext的opencustomdialog支持
参考链接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-UIContext.md#opencustomdialog12
参考代码如下