弹出框(Dialog)简易使用指南

在 HarmonyOS 应用开发中,弹出框(Dialog)是一种常用的 UI 组件,用于与用户进行交互并提供重要信息或获取用户的操作确认。以下是弹出框的简易使用方法:

一、导入模块

在使用弹出框之前,需要导入相应的模块。通常使用以下语句导入所需的弹出框类型:

javascript 复制代码
import { TipsDialog, SelectDialog, ConfirmDialog, AlertDialog, LoadingDialog, CustomContentDialog } from '@kit.ArkUI';

二、创建弹出框控制器

每种弹出框类型都需要一个对应的控制器来管理其显示和交互。例如,创建一个TipsDialog的控制器:

javascript 复制代码
let dialogController = new CustomDialogController({
    builder: TipsDialog({
        // 弹出框的具体配置参数
    })
});

三、配置弹出框参数

  1. 通用参数

    • controller:弹出框控制器,用于控制弹出框的显示、隐藏等操作。
    • theme(可选,从 API version 12 开始支持):主题信息,可以是自定义主题或从onWillApplyTheme中获取的主题实例。
    • themeColorMode(可选,从 API version 12 开始支持):自定义弹窗深浅色模式。
  2. 特定类型弹出框参数

    • TipsDialog

      • imageRes(必填,从 API version 12 + 支持ResourceStrPixelMap):展示的图片。
      • imageSize(可选):自定义图片尺寸,默认值为64*64vp
      • title(可选):提示弹出框标题。
      • content(可选):提示弹出框内容。
      • checkTips(可选):checkbox 的提示内容。
      • isChecked(可选,默认值为false):checkbox 的初始选中状态。
      • checkAction(可选,从 API version 12 + 推荐使用onCheckedChange):checkbox 选中状态改变时的回调函数。
      • onCheckedChange(可选,从 API version 12+):checkbox 选中状态改变事件。
      • primaryButton(可选):提示框左侧按钮的配置。
      • secondaryButton(可选):提示框右侧按钮的配置。
    • SelectDialog

      • title(必填):选择弹出框标题。
      • content(可选):选择弹出框内容。
      • selectedIndex(可选,默认值为-1):选择弹出框的初始选中项。
      • confirm(可选):选择弹出框底部按钮的配置。
      • radioContent(必填):选择弹出框的子项内容列表,每个子项包含文本和选中回调事件。
    • ConfirmDialog

      • title(必填):确认弹出框标题。
      • content(可选):确认弹出框内容。
      • checkTips(可选):checkbox 的提示内容。
      • isChecked(可选,默认值为false):checkbox 的初始选中状态。
      • onCheckedChange(可选,从 API version 12+):checkbox 选中状态改变事件。
      • primaryButton(可选):确认框左侧按钮的配置。
      • secondaryButton(可选):确认框右侧按钮的配置。
    • AlertDialog

      • primaryTitle(可选,从 API version 12+):确认框一级标题。
      • secondaryTitle(可选,从 API version 12+):确认框二级标题。
      • content(必填):确认弹出框内容。
      • primaryButton(可选):确认框左侧按钮的配置。
      • secondaryButton(可选):确认框右侧按钮的配置。
    • LoadingDialog

      • content(可选):加载弹出框内容。
    • CustomContentDialog(从 API version 12+)

      • contentBuilder(必填):弹出框内容的构建函数。
      • primaryTitle(可选):弹出框标题。
      • secondaryTitle(可选):弹出框辅助文本。
      • contentAreaPadding(可选):弹出框内容区内边距。
      • buttons(可选):弹出框操作区按钮配置数组,最多支持 4 个按钮。

四、处理按钮点击事件

在按钮的配置中,可以设置action属性来定义按钮点击时的回调函数。例如:

javascript 复制代码
primaryButton: {
    value: '取消',
    action: () => {
        console.info('取消按钮被点击');
    }
}

五、显示弹出框

通过调用控制器的open方法来显示弹出框:

javascript 复制代码
dialogController.open();

通过以上步骤,就可以在 HarmonyOS 应用中使用不同类型的弹出框与用户进行交互,提供更好的用户体验。根据具体需求选择合适的弹出框类型,并根据其参数进行配置,以满足各种场景下的信息展示和操作确认需求。

相关推荐
Setsuna_F_Seiei4 小时前
前端的 AI 学习之路 01 之 Agent API 调用 - 和 Agent 的基础对话
前端·人工智能·ai编程
threerocks4 小时前
AI 原生软件开发生命周期手册 - 如何借助 AI,逐阶段改造软件开发生命周期
前端·javascript·后端
徐小夕5 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github
why技术7 小时前
eli5,我觉得这个全网在吹的技能,使用体验真的很一般啊。
前端·人工智能·后端
excel7 小时前
记录升级 nuxt3 到 nuxt4 记录
前端
剑胆琴心静水深流7 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm
前端snow7 小时前
ai agent -- Memory汇总
前端
ITresearchGuest8 小时前
AI 焦虑下,前端该何去何从
前端·人工智能
Codiggerworld8 小时前
Chrome DevTools 隐藏神技:这 5 个调试技巧你可能从来没用过
前端·chrome·chrome devtools
旋生万物8 小时前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf