简介
material-dialogs是自定义对话框库。
下载安装
ohpm install @ohos/material-dialogs
使用说明
- 引入文件及代码依赖
import { MaterialDialog } from '@ohos/material_dialogs'
- 初始化Model数据
@State model: MaterialDialog.Model= new MaterialDialog.Model();
- 初始化对话框控制器
dialogController: CustomDialogController = new CustomDialogController({
builder: MaterialDialog({
model: this.model
}),
cancel: this.existDialog,
autoCancel: true,
alignment: DialogAlignment.Center
})
- 调用Model对应函数并展示目标对话框
this.model.reset()
this.model.message($r('app.string.useOhosLocationServicesPrompt'))
this.model.positiveButton($r('app.string.agree'), {
onClick() {
console.info('ClickCallback when the confirm button is clicked')
}
})
this.model.negativeButton($r('app.string.disagree'), {
onClick() {
console.info('ClickCallback when the cancel button is clicked')
}
})
this.model.setScrollHeight(120)
this.dialogController.open()
接口说明
@State model: MaterialDialog.Model= new MaterialDialog.Model();
- 显示图标
model.icon()
- 显示标题
model.title()
- 显示描述信息
model.message()
- 显示确定按钮
model.positiveButton()
- 显示取消按钮
model.negativeButton()
- 显示中立按钮
model.neutralButton()
- 按钮是否堆叠显示
model.setStacked()
- 显示复选框
model.checkBoxPrompt()
- 设置按钮是否可用
model.setActionButtonEnabled()
- 显示列表内容
model.listItems()
- 显示单选列表内容
model.listItemsSingleChoice()
- 显示多选列表内容
model.listItemsMultiChoice()
- 显示输入框
model.input()
- 显示颜色选择器
model.colorChooser()
- 显示日期时间选择器
model.dateTimePicker()
约束与限制
在下述版本验证通过:
DevEco Studio: 4.0 Beta2(4.0.3.512), SDK: API10 (4.0.10.9)
DevEco Studio: 4.0 Canary1(4.0.0.112), SDK: API10 (4.0.7.2)
目录结构
|---- material-dialogs
| |---- entry # 示例代码文件夹
| |---- material_dialogs # material_dialogs库文件夹
| |---- index.ets # 对外接口
| |---- src
| |---- main
| |---- components
| |---- MaterialDialog.ets # 自定义组件类
| |---- ClickCallback.ets # 点击事件
| |---- InputCallback.ets # 输入内容变化事件
| |---- ItemListener.ets # 条目点击事件
| |---- README.md # 安装使用方法
写在最后
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
- 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
- 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
- 想要获取更多完整鸿蒙最新学习知识点,请移步前往小编:
https://gitee.com/MNxiaona/733GH/blob/master/jianshu