HarmonyOS 异步操作中不显示设置了显示于应用之上的toast

  1. 自定义了toast,设置了showMode: promptAction.ToastShowMode.TOP_MOST属性,使toast可以显示于应用之上;
  2. 在异步操作中,调用toast,无法显示,去除showMode: promptAction.ToastShowMode.TOP_MOST可以正常显示。
HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

promptAction模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用。可以通过使用UIContext中的getPromptAction方法获取当前UI上下文关联的PromptAction对象。

详细情况请查看:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#showtoastoptions

针对此情况可参考:

//  index.ets
private getVersionInfo() {
  bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)
    .then((bundleInfo) => {
      let promptActionData = this.getUIContext().getPromptAction();
      showToast(promptActionData,bundleInfo.versionName)
    }).catch((error: string) => {
    console.error("获取版本号异常:" + error)
  })
}
//ComponentUtil.ets
import promptAction from '@ohos.promptAction';
import { PromptAction } from '@kit.ArkUI';
/**

 duration 显示时间3S
 @param msg

 */
export function showToast(promptActionData: PromptAction,msg: string | Resource) {
  promptActionData.showToast({
    message: msg,
    duration: 3000,
    bottom:"center",
    showMode: promptAction.ToastShowMode.TOP_MOST
  });
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 应用退到后台显示toast方案
785浏览 • 1回复 待解决
HarmonyOS CustomDialogController 不显示
291浏览 • 1回复 待解决
HarmonyOS 如果显示类似Toast提示
409浏览 • 2回复 待解决
如何设置swiper指示器不显示
997浏览 • 1回复 待解决
HarmonyOS web组件alert不显示
608浏览 • 1回复 待解决
HarmonyOS web加载页面图片不显示
507浏览 • 1回复 待解决
HarmonyOS 网络图片加载不显示
102浏览 • 1回复 待解决
HarmonyOS 输入框不显示内容
56浏览 • 1回复 待解决
HarmonyOS dialog调用open方法,不显示
323浏览 • 1回复 待解决
PopupDialog 不显示怎么回事?
7480浏览 • 2回复 待解决
harmony surfaceProvider绘制不显示问题
10212浏览 • 4回复 待解决
image组件,files目录文件不显示
1636浏览 • 1回复 待解决
harmonyos-webview-布局增加load不显示
6671浏览 • 3回复 待解决