HarmonyOS 鸿蒙Next promptAction.openCustomDialog builder使用自定义组件,toast封装
HarmonyOS 鸿蒙Next promptAction.openCustomDialog builder使用自定义组件,toast封装
@Builder
function toastBuilder(content?: string, iconDirection?: Direction, duration?: number) {
ToastBuilder({
content: content,
iconDirection: iconDirection,
duration: duration
})
}
export class Toast {
static dialogId?: number = undefined;
showToast(content?: string, iconDirection?: JDDirection, duration?: number) {
if (Toast.toastShowed) {
return;
}
promptAction.openCustomDialog({
builder: toastBuilder(content, iconDirection, duration)
}).then((dialogId: number) => {
Toast.dialogId = dialogId
})
}
closeToast(): void {
promptAction.closeCustomDialog(JDToast.dialogId);
}
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
以上代码,运行时报错
Error message:Cannot read property observeComponentCreation2 of undefined
SourceCode:
(parent ? parent : this).observeComponentCreation2((elmtId, isInitialRender) => {
}
ToastBuilder为自定义的Compnent,其实核心是想封装一个toast的工具类,不想每次使用都自定义一个controller,求指教
关于HarmonyOS 鸿蒙Next promptAction.openCustomDialog builder使用自定义组件,toast封装的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
export default function showToast(message: string, duration: number = 2000) {
try {
promptAction.showToast({
message: message,
duration: duration,
bottom: "center",
})
} catch (error) {
console.error(`showToast args error code is ${error.code}, message is ${error.message}`);
}
}
楼主实现的难道是类似弹窗dialog 的? 提示的话还是用promptAction.showToast好一些
找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
用这个,怎么自定义UI呢?
我理解 ToastBuilder,这个获取不到parent对象,不知道上下文了。但我看promptAction.openCustomDialog,并没有让传上下文
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
这问题信息只有些碎片,没有一个整体概念不知道怎么回答你了。你封装的思路是怎样,封装涉及哪些类、组件,最终预期是什么,报错中的observeComponentCreation2() 在哪儿,没法读取你头脑中的信息,只好建议你看看API文档中示例了。 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionopencustomdialog11