更新记录
0.2.5(2026-08-18) 下载此版本
- 蒸汽模式兼容:
linesCSS 声明迁移为<text>的:max-lines属性(官方蒸汽模式方案),消除 Vapor 运行时与 CSS 编译器警告
0.2.3(2026-08-14) 下载此版本
- 精简 readme:移除内部开发向内容(设计说明 / 实现细节 / 平台差异实现等),只保留安装、用法、API、主题等用户文档
0.2.0(2026-08-07) 下载此版本
- 声明支持 iOS 端(
APP-IOS):声明式与命令式弹窗已在 iOS 真机验证,公共实现无需端差异处理;package.json平台标记 ios 由-更新为√ - Android、鸿蒙、Web、微信小程序行为保持不变
平台兼容性
uni-app x(4.25)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | √ | × |
nax-dialog
居中对话框(确认 / 告警)。
支持两种用法:
- 声明式:页面里写
<nax-dialog v-model:show>,可插槽自定义内容 - 命令式:全局挂一次宿主后,业务只调
naxDialog()/naxDialogAlert()/naxDialogConfirm()
自定义任意复杂弹层请直接用 nax-picker。
主题
通过 CSS 变量覆盖:
| Token | 用途 |
|---|---|
--nax-color-bg |
背景色 |
--nax-color-bg-hover |
按压/悬停背景色 |
--nax-color-border |
边框色 |
--nax-color-error |
错误色 |
--nax-color-info |
信息色 |
--nax-color-primary |
主题主色 |
--nax-color-success |
成功色 |
--nax-color-text |
主文字色 |
--nax-color-text-secondary |
次要文字色 |
--nax-color-warning |
警告色 |
依赖
nax-pickernax-ui-theme(可选,主题 token)
easycom 自动注册:页面内直接使用 <nax-dialog>。
声明式用法
<nax-button label="打开" @click="show = true"></nax-button>
<nax-dialog
v-model:show="show"
title="提示"
content="确定执行该操作吗?"
@confirm="onConfirm"
@cancel="onCancel"
></nax-dialog>
const show = ref(false)
function onConfirm() {
// 点确定
}
function onCancel() {
// 点取消或遮罩关闭(需 maskClosable)
}
自定义内容
<nax-dialog v-model:show="show" title="协议" :show-cancel="true" confirm-text="同意">
<view class="custom">
<text>这里可以放自定义布局</text>
</view>
</nax-dialog>
更复杂的居中/底部弹层请用 nax-picker。
命令式用法
1. 全局挂一次宿主
<nax-dialog />
与 toast 相同:挂在常驻根布局。
未挂宿主时回退uni.showModal。
2. 业务只调方法
import {
naxDialog as showNaxDialog,
naxDialogAlert,
naxDialogConfirm,
hideNaxDialog
} from '@/uni_modules/nax-dialog/index.uts'
// 确认框(默认双按钮)
naxDialogConfirm({
title: '删除',
content: '删除后不可恢复',
confirmType: 'error'
}).then((res) => {
if (res.getBoolean('confirm') == true) {
// 用户点了确定
}
})
naxDialogConfirm({ title: '提示', content: '继续?' }).then((res) => {
const action = res.getString('action') // confirm | cancel
})
// 告警(仅确定)
naxDialogAlert('保存成功')
naxDialogAlert({ title: '提示', content: '网络已恢复' })
// 通用入口
showNaxDialog({
title: '提示',
content: '自定义双按钮',
showCancel: true
})
微信小程序端:若当前 SFC 同时挂载
<nax-dialog />并导入naxDialog,请像上例一样给函数设置本地别名。naxDialog会与组件标签映射到同一个驼峰名,导致MP-WEIXIN未注册宿主组件;声明式与命令式按钮都会表现为点击无反应。仅调用函数、不挂载宿主的业务页可继续直接导入naxDialog。
asyncClose(异步关闭)
naxDialogConfirm({
title: '提交',
content: '确认提交?',
asyncClose: true
}).then((res) => {
if (res.getBoolean('confirm') == true) {
// 请求中…结束后再关
// hideNaxDialog()
}
})
Props
| 属性 | 类型 | 默认 | 说明 |
|---|---|---|---|
| show | boolean | false | v-model:show 显隐 |
| title | string | '' |
标题 |
| content | string | '' |
内容 |
| message | string | '' |
同 content(兼容) |
| showCancel | boolean | true | 显示取消 |
| showConfirm | boolean | true | 显示确定 |
| cancelText | string | 取消 | 取消文案 |
| confirmText | string | 确定 | 确定文案 |
| confirmType | string | primary | primary / info / success / warning / error / default |
| asyncClose | boolean | false | 点确定不自动关闭 |
| mask | boolean | true | 遮罩 |
| maskClosable | boolean | false | 点遮罩关闭(默认不关,更安全) |
| closeOnMask | boolean | false | 同 maskClosable |
| closeOnClickOverlay | boolean | false | 同 maskClosable |
| round | boolean | true | 圆角 |
| width | string | '' |
宽度(空则走 picker 居中默认) |
| zIndex | number | 10085 | 层级 |
| duration | number | 280 | 动画 ms |
| customClass | string | '' |
根扩展 class |
事件
| 事件 | 说明 |
|---|---|
| update:show | 显隐变更 |
| confirm | 点确定 |
| cancel | 点取消;或点遮罩关闭时 |
| open | 打开开始 |
| opened | 打开完成 |
| close | 关闭完成 |
| click-mask | 点遮罩 |
命令式 API
| 方法 | 说明 |
|---|---|
naxDialog(input?) |
通用打开,默认双按钮 |
naxDialogAlert(input?) |
告警,默认仅确定 |
naxDialogConfirm(input?) |
确认,默认取消+确定 |
hideNaxDialog() / closeNaxDialog() |
关闭当前命令式对话框 |
input 可为 string(content)或 object:
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
| title | string | '' |
标题文案(显示在内容上方,加粗) |
| content | string | '' |
正文文案;传 string 时等价于只传 content |
| message | string | '' |
兼容字段,同 content |
| showCancel | boolean | true |
是否显示取消按钮 |
| showConfirm | boolean | true |
是否显示确认按钮 |
| cancelText | string | '取消' |
取消按钮文案 |
| confirmText | string | '确认' |
确认按钮文案 |
| confirmType | string | 'primary' |
确认按钮色:primary 主要 / info 信息 / success 成功 / warning 警告 / error 错误(danger 同 error)/ default 默认 |
| confirmButtonType | string | 'primary' |
兼容字段,同 confirmType |
| maskClosable | boolean | false |
点遮罩是否关闭弹层 |
| closeOnClickOverlay | boolean | false |
兼容字段,同 maskClosable |
| asyncClose | boolean | false |
true 时点击确认不自动关闭,由业务手动关闭(异步提交场景) |
| width | string | '' |
对话框宽度;纯数字按 px |
返回 Promise<UTSJSONObject>,字段同上。
插槽
| 插槽 | 说明 |
|---|---|
| default | 自定义内容区(替代 content 文案) |
| title | 自定义标题 |
| footer | 自定义底部按钮区 |
与 nax-picker / toast 的关系
| 组件 | 职责 |
|---|---|
nax-picker |
通用弹出容器(任意内容 / 四向) |
nax-dialog |
标准确认/告警(组合 picker + 可选命令式) |
nax-toast |
短反馈提示(命令式) |
nax-action-sheet |
底部操作列表 |

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 135
赞赏 3
下载 12598102
赞赏 1949
赞赏
京公网安备:11010802035340号