更新记录
1.0.0(2025-11-19) 下载此版本
初始功能
平台兼容性
uni-app(4.66)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | - | - | √ | √ | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × |
liaction-dialog 对话框模块
概述
liaction-dialog 是统一对话框实现模块,基于 UniApp API 构建,支持自定义样式。
温馨提示
- 不支持在小程序端使用
- 项目自用, 不建议在其他项目中使用,如果有需求, 请确认是否适合你们的项目
平台兼容性
- H5
- App 端 (iOS/Android)
- 不支持小程序端 (微信/支付宝/百度/头条/抖音)
核心方法
showModal
显示对话框
参数配置(部分):
title:对话框标题content:对话框内容type:对话框类型,可选值:default、loadingshowCancel:是否显示取消按钮,默认 truecancelText:取消按钮文本,默认 "取消"confirmText:确认按钮文本,默认 "确定"cancelColor:取消按钮颜色,默认 "#999999"confirmColor:确认按钮颜色,默认 "#007AFF"maskClosable:点击遮罩层是否可关闭,默认 trueshowButtons:是否显示按钮区域,默认 truewidth:对话框宽度height:对话框高度position:对话框位置,可选值:center、top、bottom、left、rightanimationDuration:动画持续时间extras:自定义数据,会在回调中返回topArea:顶部自定义区域配置titleArea:标题区域配置contentArea:内容区域配置bottomArea:底部自定义区域配置outerTopArea:外部顶部区域配置outerBottomArea:外部底部区域配置titleStyle:标题样式对象cancelButtonStyle:取消按钮样式对象confirmButtonStyle:确认按钮样式对象customStyle:自定义样式字符串,直接添加到style标签中showScrollbar:是否显示滚动条,默认 truescrollbarWidth:滚动条宽度,默认 "4px"scrollbarColor:滚动条颜色,默认 "rgba(0, 0, 0, 0.2)"scrollbarTrackColor:滚动条轨道颜色,默认 "transparent"scrollbarBorderRadius:滚动条圆角,默认 "2px"closeOnConfirm:确认后是否自动关闭,默认 trueevents:自定义事件配置,格式:[{selector, eventType, action, autoCloseDialog, extras}]useModalArea:是否使用modalArea替代整个对话框内容modalArea:自定义模态区域配置,包含content和style属性useOuterTopArea:是否使用外部顶部区域useOuterBottomArea:是否使用外部底部区域leftArea:左侧区域配置(用于flex布局),包含content和style属性rightArea:右侧区域配置(用于flex布局),包含content和style属性success:成功回调函数fail:失败回调函数complete:完成回调函数
返回值:返回 Promise 或包含 modalId 的对象
closeModal
关闭当前打开的对话框
参数:可选的 modalId 列表 返回值:关闭结果对象
closeModalById
根据 modalId 关闭指定的对话框
参数:modalId - 弹窗ID
返回值:关闭结果对象
hideModal
隐藏指定的弹窗但不移除它
参数:可选的 modalId 列表 返回值:隐藏结果对象
showModalById
根据 modalId 显示之前隐藏的弹窗
参数:modalId - 弹窗ID
返回值:显示结果对象
closeAllModals
关闭所有弹窗
返回值:关闭结果对象
showLoading
显示加载弹窗
参数:
options:配置对象或加载文本字符串content:加载文本- 其他 showModal 支持的配置
返回值:返回 Promise 或包含 modalId 的对象
hideLoading
隐藏加载弹窗
参数:
modalId:可选,指定要隐藏的弹窗IDoptions:可选配置hideAll:是否隐藏所有loading类型弹窗
返回值:操作结果
元素操作方法
setElementProps
设置元素属性
参数:
selector:元素选择器props:属性对象
triggerElementEvent
触发元素事件
参数:
selector:元素选择器eventType:事件类型eventData:事件数据
batchUpdateElements
批量更新元素
参数:
updates:更新配置数组
setInputValue
设置输入框值
参数:
selector:输入框选择器value:输入值
setElementText
设置元素文本内容
参数:
selector:元素选择器text:文本内容
setElementStyle
设置元素样式
参数:
selector:元素选择器style:样式对象
setElementDisabled
设置元素禁用状态
参数:
selector:元素选择器disabled:禁用状态
回调函数参数
success/fail/complete 回调参数结构
{
confirm: boolean, // 是否确认
cancel: boolean, // 是否取消
extras: object, // 自定义数据
action: string, // 操作类型 ('confirm'|'cancel')
value: any, // 返回值
dialog: object // 对话框控制方法
}
示例代码
基本使用
// 引入模块
import dialog from '@/uni_modules/liaction-dialog/js_sdk/dialog.js';
// 显示普通对话框
dialog.showModal({
title: '提示',
content: '这是一个普通对话框',
success(res) {
if (res.confirm) {
console.log('用户点击了确定');
} else if (res.cancel) {
console.log('用户点击了取消');
}
}
});
// 显示加载弹窗
const loadingModal = dialog.showLoading('加载中...');
// 隐藏加载弹窗
setTimeout(() => {
dialog.hideLoading(loadingModal.modalId);
}, 2000);
// 初始化全局配置
dialog.initDialog({
debug: true,
animationDuration: 300,
defaultCancelText: '取消操作',
defaultConfirmText: '确认操作'
});
自定义样式
dialog.showModal({
title: '自定义样式',
content: '这是一个自定义样式的对话框',
width: '80%',
height: '200px',
position: 'center',
cancelColor: '#999999',
confirmColor: '#007AFF',
maskClosable: true
});
Promise 方式调用
try {
const res = await dialog.showModal({
title: '确认操作',
content: '是否继续执行此操作?'
});
if (res.confirm) {
console.log('用户确认了操作');
}
} catch (err) {
console.error('对话框操作失败', err);
}

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 36
赞赏 0
下载 11165221
赞赏 1804
赞赏
京公网安备:11010802035340号