更新记录

0.3.0(2026-09-04) 下载此版本

  • 微信小程序端(MP-WEIXIN)可映射模式改用微信系统弹层 picker,贴合微信原生 UI:date(fields=day)/ year(fields=year)/ year-month(fields=month)/ time(未开 show-second)分别映射 mode="date" / mode="time"min-date / max-date / min-hour / max-hour 等范围映射 start / end;滚动吸附后点「确定」回调,值即最终值,消除此前 picker-view 的 change 延迟与确认拦截问题
  • 不可映射模式(datetime / month-day / time + show-second)微信端保持自建弹层(picker-view)不变
  • 微信端限制:系统弹层 UI 不可定制(confirm-text / cancel-text / 颜色 / z-index 等弹层定制 props 不生效;title 仅微信安卓端显示);v-model:show 程序化打开不生效(点击触发条弹出);暗黑模式跟随微信宿主深色主题(需小程序开启 darkmode)
  • 仅影响微信小程序端;Android / iOS / 鸿蒙 / Web 行为不变

0.2.1(2026-08-24) 下载此版本

  • 触发条清除按钮样式对齐 nax-input:移除灰色圆形底徽,改为纯 close 图标;图标随 size 缩放(sm 14 / md 16 / lg 18),配色与热区内边距一致;App 深色主题沿用 custom-class nax-theme-dark 判定字面量色(APP-ANDROID / APP-IOS / APP-HARMONY),其它端浅色默认不变
  • 有选中值显示清除按钮时隐藏下拉箭头,二者互斥且切换位置精确重合(箭头容器补齐相同热区内边距、图标同尺寸)
  • readme 同步修正清除按钮与箭头互斥的描述

0.2.0(2026-08-20) 下载此版本

  • 内置触发条新增 clearable(默认 true):有选中值时在下箭头左侧显示清除按钮,点击后清空选中、回写空的 v-model0),并触发 clear
  • 修复鸿蒙端:清空触发条选中值后,点击事件冒泡导致底部选择框重新弹出;增加触发条入口抑制并清理异步 picker-view 回调(APP-HARMONY)。
查看更多

平台兼容性

uni-app x(4.25)

Chrome Safari Android iOS 鸿蒙 微信小程序

其他

多语言 暗黑模式 宽屏模式
× ×

nax-datetime-picker

uni-app x 时间选择器(底部弹层 + picker-view)。

主题

通过 CSS 变量覆盖:

Token 用途
--nax-border-width 边框粗细
--nax-color-bg 背景色
--nax-color-bg-hover 按压/悬停背景色
--nax-color-border 边框色
--nax-color-divider 分割线色
--nax-color-mask 遮罩色
--nax-color-primary 主题主色
--nax-color-text 主文字色
--nax-color-text-black 纯黑文字色
--nax-color-text-disabled 禁用文字色
--nax-color-text-placeholder 占位文字色
--nax-color-text-secondary 次要文字色

依赖

  • nax-icon(触发条箭头)
  • nax-transition(弹层进退场动画)
  • nax-ui-theme(CSS 变量 --nax-*

基础用法

<nax-button label="选择日期时间" @click="visible = true"></nax-button>
<nax-datetime-picker
  v-model:show="visible"
  v-model="value"
  mode="datetime"
  title="选择时间"
  @confirm="onConfirm"
></nax-datetime-picker>

mode

datetime 年 月 日 时 分(+ 秒)
date 年 月 日
time 时 分(+ 秒)
year-month 年 月
year
month-day 月 日

常用 Props

属性 默认 说明
show false v-model:show;微信小程序端系统弹层模式不生效(点触发条弹出,自动回写 false)
modelValue 0 时间戳 ms 或日期字符串
mode datetime 见上表;微信小程序端 datetime / month-day / time + show-second 无法映射系统弹层,保持自建弹层
min-date / max-date 1950 / 当前+10年 可选范围(微信小程序端系统弹层模式映射为 start / end)
show-second false 显示秒列(微信小程序端 time + show-second 退回自建弹层)
show-unit true 列单位;微信小程序端系统弹层模式不生效(列由微信渲染)
format '' 自定义 formatted(触发条回显,各端生效)
show-trigger false 内置触发条;微信小程序端系统弹层模式始终渲染触发条作为弹层触发区域
clearable true 触发条有选中值时显示清除按钮
mask-closable true 点遮罩关闭;微信小程序端系统弹层模式不生效
safe-area-inset-bottom true 底部安全区;微信小程序端系统弹层模式不生效

事件

confirm 回调字段:value / timestamp / formatted / year / month / day / hour / minute / second / mode。

另有 update:show、update:modelValue、cancel、change、open、close、clear。

内置触发条有选中值时,右侧显示清除按钮并隐藏下拉箭头(clearable,默认开启,二者互斥),点击后清空选中并回写空的 v-model0)。

平台说明

  • 微信小程序date / year / year-month / time(未开 show-second)使用微信系统弹层 pickermode="date" / mode="time"min-date / max-date / min-hour / max-hour 等范围映射 start / end),滚动吸附后点「确定」回调,值即最终值;系统弹层 UI 不可定制(confirm-text / cancel-text / 颜色 / z-index 等弹层定制 props 不生效,title 仅微信安卓端显示为标题),v-model:show 程序化打开不生效(点击触发条弹出),暗黑模式跟随微信宿主深色主题(需小程序开启 darkmode)
  • 微信小程序datetime / month-day / time + show-second 无法映射微信系统弹层,保持自建弹层(picker-view)不变
  • 鸿蒙禁用选项点选,请滑动后确认。
  • 鸿蒙暗黑模式:组件自动移除原生滚轮默认的白色渐变遮罩。

说明:鸿蒙 picker-view 打开时的滚到目标动画为原生行为,无法设置 duration。未传 min-date 时默认近 30 年~当前+10 年,以缩短年列滚动距离。需要更早日期请显式传 min-date

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。