更新记录

0.1.0(2026-08-31) 下载此版本

  • 首版:自 nax-ui 套装迁出,独立发布。7 个组合式函数:
    • useCountdown 倒计时(整秒显示向上取整,逐秒不跳号;status 四态 idle/running/paused/finished)
    • useValidate 无头表单校验(依赖 nax-form 包内引擎 form-state.uts,与组件共用实现)
    • useDebounce 防抖(NaxDebounceHandle:call/cancel/flush)
    • useThrottle 节流(NaxThrottleHandle:call/cancel/flush,leading + trailing)
    • useDatetimeParts 日期时间 parts(依赖 nax-datetime-picker 包内引擎 datetime-parts.uts,供自建 picker-view)
    • useInterval 可控轮询(start/stop/running/count,running 为响应式)
    • useStorage 响应式本地缓存(改值即写、置 null 删 key)
  • 导入路径变更:@/uni_modules/nax-ui/composables/*@/uni_modules/nax-use/composables/*

平台兼容性

uni-app x(4.25)

Chrome Safari Android iOS 鸿蒙 微信小程序

其他

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

nax-use

nax-use 是 nax-ui 的组合式函数包(无头逻辑复用):只提供状态与控制方法,UI 完全交给业务。定位为 uni-app x 蒸汽模式组件库 nax-ui 生态的一部分。

安装方式

  • 安装 nax-ui 套装时自动包含(套装依赖聚合本包)。
  • 也可单独安装 nax-useuseValidate 依赖 nax-formuseDatetimeParts 依赖 nax-datetime-picker(引擎与组件共用同一实现,装本包时市场自动带依赖);其余函数零依赖。

函数速查

函数 返回 说明
useCountdown(options) NaxCountdownState 倒计时:days/hours/minutes/seconds/milliseconds/total/running/started/status + start/pause/reset/dispose;整秒显示向上取整(逐秒不跳号)
useValidate(options) NaxFormState 无头表单校验:register/validate/validateField/resetFields/clearValidate/getError/errorVersion 等,与 nax-form 同一实现
useDebounce(fn, wait?) NaxDebounceHandle 防抖:call(payload) / cancel() / flush();窗口内多次调用只执行最后一次
useThrottle(fn, wait?) NaxThrottleHandle 节流:call(payload) / cancel() / flush();leading + trailing
useDatetimeParts(options) NaxDatetimePartsState 日期时间 parts:columns/indices/setTimestamp/setParts/toTimestamp/format/applyIndices,供自建 picker-view,与 nax-datetime-picker 同一引擎
useInterval(fn, wait?, immediate?) NaxIntervalState 可控轮询:start/stop/running/count(均响应式)
useStorage(key, defaultValue?) Ref<any> 响应式本地缓存:改值即写缓存,置 null 删除 key

用法

<script setup>
    import { useCountdown, NaxCountdownOptions } from '@/uni_modules/nax-use/composables/use-countdown.uts'

    const opts : NaxCountdownOptions = { time: 10 * 1000, autostart: false }
    const countdown = useCountdown(opts)
    // 模板直接读标量:countdown.days / seconds / status
    // 控制:countdown.start() / countdown.pause() / countdown.reset()
</script>

完整 API 与 demo 见各函数:pages/components/use-*/index.uvue(演示宿主内)。

约定

  • 状态全部为标量 getter 或 Ref(uts 响应式友好);返回 Handle / State 的函数必须在 setup 内同步调用
  • 防抖/节流为单载荷设计(payload: any | null),多参数请包对象传入
  • 与组件共享实现时不维护两套逻辑:useValidate 引擎在 nax-form 包内 form-state.utsuseDatetimeParts 引擎在 nax-datetime-picker 包内 datetime-parts.uts
  • 文件命名 use-<能力>.uts(kebab-case),函数名 use<能力>

支持平台

同 nax-ui 套装:Web / 微信小程序 / App Android / App iOS / App HarmonyOS(蒸汽模式,见套装版本门槛)。纯逻辑实现,无新增端差异。

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。