彈出框(Dialog)簡易使用指南

# HarmonyOS next之彈出框(Dialog)簡易使用指南

在 HarmonyOS 應用開發(fā)中,彈出框(Dialog)是一種常用的 UI 組件,用于與用戶進行交互并提供重要信息或獲取用戶的操作確認。以下是彈出框的簡易使用方法:

## 一、導入模塊

在使用彈出框之前,需要導入相應的模塊。通常使用以下語句導入所需的彈出框類型:

```javascript

import { TipsDialog, SelectDialog, ConfirmDialog, AlertDialog, LoadingDialog, CustomContentDialog } from '@kit.ArkUI';

```

## 二、創(chuàng)建彈出框控制器

每種彈出框類型都需要一個對應的控制器來管理其顯示和交互。例如,創(chuàng)建一個`TipsDialog`的控制器:

```javascript

let dialogController = new CustomDialogController({

? ? builder: TipsDialog({

? ? ? ? // 彈出框的具體配置參數(shù)

? ? })

});

```

## 三、配置彈出框參數(shù)

1. 通用參數(shù)

? - `controller`:彈出框控制器,用于控制彈出框的顯示、隱藏等操作。

? - `theme`(可選,從 API version 12 開始支持):主題信息,可以是自定義主題或從`onWillApplyTheme`中獲取的主題實例。

? - `themeColorMode`(可選,從 API version 12 開始支持):自定義彈窗深淺色模式。

2. 特定類型彈出框參數(shù)

? - `TipsDialog`

? ? :

? ? - `imageRes`(必填,從 API version 12 + 支持`ResourceStr`或`PixelMap`):展示的圖片。

? ? - `imageSize`(可選):自定義圖片尺寸,默認值為`64*64vp`。

? ? - `title`(可選):提示彈出框標題。

? ? - `content`(可選):提示彈出框內(nèi)容。

? ? - `checkTips`(可選):checkbox 的提示內(nèi)容。

? ? - `isChecked`(可選,默認值為`false`):checkbox 的初始選中狀態(tài)。

? ? - `checkAction`(可選,從 API version 12 + 推薦使用`onCheckedChange`):checkbox 選中狀態(tài)改變時的回調(diào)函數(shù)。

? ? - `onCheckedChange`(可選,從 API version 12+):checkbox 選中狀態(tài)改變事件。

? ? - `primaryButton`(可選):提示框左側(cè)按鈕的配置。

? ? - `secondaryButton`(可選):提示框右側(cè)按鈕的配置。

? - `SelectDialog`

? ? :

? ? - `title`(必填):選擇彈出框標題。

? ? - `content`(可選):選擇彈出框內(nèi)容。

? ? - `selectedIndex`(可選,默認值為`-1`):選擇彈出框的初始選中項。

? ? - `confirm`(可選):選擇彈出框底部按鈕的配置。

? ? - `radioContent`(必填):選擇彈出框的子項內(nèi)容列表,每個子項包含文本和選中回調(diào)事件。

? - `ConfirmDialog`

? ? :

? ? - `title`(必填):確認彈出框標題。

? ? - `content`(可選):確認彈出框內(nèi)容。

? ? - `checkTips`(可選):checkbox 的提示內(nèi)容。

? ? - `isChecked`(可選,默認值為`false`):checkbox 的初始選中狀態(tài)。

? ? - `onCheckedChange`(可選,從 API version 12+):checkbox 選中狀態(tài)改變事件。

? ? - `primaryButton`(可選):確認框左側(cè)按鈕的配置。

? ? - `secondaryButton`(可選):確認框右側(cè)按鈕的配置。

? - `AlertDialog`

? ? :

? ? - `primaryTitle`(可選,從 API version 12+):確認框一級標題。

? ? - `secondaryTitle`(可選,從 API version 12+):確認框二級標題。

? ? - `content`(必填):確認彈出框內(nèi)容。

? ? - `primaryButton`(可選):確認框左側(cè)按鈕的配置。

? ? - `secondaryButton`(可選):確認框右側(cè)按鈕的配置。

? - `LoadingDialog`

? ? :

? ? - `content`(可選):加載彈出框內(nèi)容。

? - `CustomContentDialog`(從 API version 12+)

? ? :

? ? - `contentBuilder`(必填):彈出框內(nèi)容的構(gòu)建函數(shù)。

? ? - `primaryTitle`(可選):彈出框標題。

? ? - `secondaryTitle`(可選):彈出框輔助文本。

? ? - `contentAreaPadding`(可選):彈出框內(nèi)容區(qū)內(nèi)邊距。

? ? - `buttons`(可選):彈出框操作區(qū)按鈕配置數(shù)組,最多支持 4 個按鈕。

## 四、處理按鈕點擊事件

在按鈕的配置中,可以設置`action`屬性來定義按鈕點擊時的回調(diào)函數(shù)。例如:

```javascript

primaryButton: {

? ? value: '取消',

? ? action: () => {

? ? ? ? console.info('取消按鈕被點擊');

? ? }

}

```

## 五、顯示彈出框

通過調(diào)用控制器的`open`方法來顯示彈出框:

```javascript

dialogController.open();

```

通過以上步驟,就可以在 HarmonyOS 應用中使用不同類型的彈出框與用戶進行交互,提供更好的用戶體驗。根據(jù)具體需求選擇合適的彈出框類型,并根據(jù)其參數(shù)進行配置,以滿足各種場景下的信息展示和操作確認需求。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容