1、描述

    通过CustomDialogController类显示自定义弹窗。使用弹窗组件时,可优先考虑自定义弹窗,便于自定义弹窗的样式与内容。

2、接口
CustomDialogController(value:{builder: CustomDialog, cancel?: () => void, autoCancel?: boolean, alignment?: DialogAlignment, offset?: Offset, customStyle?: boolean, gridCount?: number})

3、参数
参数名

参数类型

必填

参数说明

builder

CustomDialog

自定义弹窗内容构造器。

cancel () => void 否 点击遮障层退出时的回调。
autoCancel boolean 否
是否允许点击遮障层退出。

默认值:true

alignment DialogAlignment 否
弹窗在竖直方向上的对齐方式。

默认值:DialogAlignment.Default

offset Offset 否 弹窗相对alignment所在位置的偏移量。
customStyle boolean 否
弹窗容器样式是否自定义。

默认值:false,弹窗容器的宽度根据栅格系统自适应,不跟随子节点;高度自适应子节点,最大为窗口高度的90%;圆角为24vp。

gridCount number 否 弹窗宽度占栅格宽度的个数。默认为按照窗口大小自适应,异常值按默认值处理,最大栅格数为系统最大栅格数。
4、DialogAlignment枚举说明:
名称

描述

Top

垂直顶部对齐。

Center 垂直居中对齐。
Bottom 垂直底部对齐。
Default 默认对齐。
TopStart 左上对齐。
TopEnd 右上对齐。
CenterStart 左中对齐。
CenterEnd 右中对齐。
BottomStart 左下对齐。
BottomEnd 右下对齐。
5、Offset
名称

类型

必填

说明

dx

Length

水平方向偏移量。

dy

Length

竖直方向偏移量。

6、CustomDialogController
导入对象:
dialogController : CustomDialogController = new CustomDialogController(value:{builder: CustomDialog, cancel?: () => void, autoCancel?: boolean})
说明:

CustomDialogController仅在作为@CustomDialog和@Component struct的成员变量,且在@Component struct内部定义时赋值才有效,具体用法可看下方示例。

open()
open(): void

显示自定义弹窗内容,允许多次使用,但如果弹框为SubWindow模式,则该弹框不允许再弹出SubWindow弹框。

close
close(): void

关闭显示的自定义弹窗,若已关闭,则不生效。