# HarmonyOS next之弹出框(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 + 支持`ResourceStr`或`PixelMap`):展示的图片。
- `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 应用中使用不同类型的弹出框与用户进行交互,提供更好的用户体验。根据具体需求选择合适的弹出框类型,并根据其参数进行配置,以满足各种场景下的信息展示和操作确认需求。