HarmonyOS 鸿蒙Next 全局自定义弹窗怎么写

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 全局自定义弹窗怎么写 如何使用接口返回的code,给出不同的提示弹窗,比如:code===1 返回 当前 账号被其他设备登录,请重新登录 其他 显示 登录成功

2 回复

嗯,您可以使用PromptAction,参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#promptactionshowtoast

import { promptAction } from '@kit.ArkUI'
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct LoginPage {
  @State message: string = 'Hello World';
  @State num: number = 0

  build() {
    Column() {
      Column() {
        Button('showToast').onClick(() => {
          if (this.num === 0) {
            try {
              promptAction.showToast({
                message: '当前账号被其他设备登录,请重新登录',
                duration: 2000,
                showMode: promptAction.ToastShowMode.TOP_MOST
              });
            } catch (error) {
              let message = (error as BusinessError).message
              let code = (error as BusinessError).code
              console.error(`showToast args error code is== ${code}, message is ${message}`);
            }
            ;
          } else {
            try {
              promptAction.showToast({
                message: '登录成功',
                duration: 2000,
                showMode: promptAction.ToastShowMode.TOP_MOST
              });
            } catch (error) {
              let message = (error as BusinessError).message
              let code = (error as BusinessError).code
              console.error(`showToast args error code is== ${code}, message is ${message}`);
            }
            ;
          }

        })
      }
    }
    .backgroundColor("#F1F3F5")
    .justifyContent(FlexAlign.Center)
    .width('100%')
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next 全局自定义弹窗怎么写的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中实现全局自定义弹窗,可以通过以下方式进行。需要注意的是,鸿蒙系统使用ArkUI(基于JS的UI框架)和ETS(基于TypeScript的增强型TypeScript框架)来开发应用界面。以下是基于ArkUI(JS)的简要实现思路:

  1. 定义弹窗组件:首先,在应用的resources/base/common/components目录下创建一个新的自定义组件文件,如MyCustomDialog.hml,并在其中定义弹窗的UI结构。

  2. 实现弹窗逻辑:在对应的.js文件中实现弹窗的显示和隐藏逻辑。可以通过监听全局事件或接收父组件的通信来控制弹窗的显示状态。

  3. 全局注册和使用:将自定义弹窗组件注册到全局,这样在任何需要显示弹窗的地方都可以通过全局变量或方法调用它。具体实现可能涉及将弹窗组件的实例或相关方法保存到全局状态管理器中。

  4. 显示弹窗:在需要显示弹窗的地方,通过调用全局注册的弹窗方法或访问其实例来触发弹窗的显示。

请注意,以上步骤是一个基本的实现思路,具体实现可能会根据项目的具体需求和鸿蒙系统的版本有所不同。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部