更新记录

1.0.0(2026-07-07) 下载此版本

  • 上线时间滑动选择器

平台兼容性

uni-app(4.65)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
-
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - -

uni-app x(4.71)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

m-time-slider 时间滑块组件

一个用于选择时间的滑块组件,支持触摸拖动,以小时和分钟为单位显示时间。

功能特性

  • 支持 v-model 双向绑定
  • 触摸拖动选择时间
  • 自定义滑块样式、轨道颜色
  • 显示当前选择的时间值
  • 可配置最小值、最大值和步长
  • 自动格式化时间为小时和分钟

基本用法

<template>
  <m-time-slider v-model="timeValue" />
</template>

<script setup>
import { ref } from 'vue'

const timeValue = ref(10) // 默认10分钟
</script>

完整示例

<template>
  <view>
    <m-time-slider
      v-model="duration"
      :min="0"
      :max="480"
      :step="5"
      rail-color="#E0E0E0"
      track-color="#4CAF50"
      thumb-color="#4CAF50"
      thumb-border="none"
      :thumb-size="40"
      @change="onTimeChange"
    />
  </view>
</template>

<script setup>
import { ref } from 'vue'

const duration = ref(120)

const onTimeChange = (value) => {
  console.log('选择的时间:', value)
}
</script>

Props 参数

属性名 类型 默认值 说明
modelValue Number 10 滑块当前值(分钟)
min Number 0 最小值(分钟)
max Number 480 最大值(分钟)
step Number 1 步长(分钟)
showLabels Boolean true 是否显示最大值最小值标签
labelTextStyle String 'font-size: 24rpx; color: #6763F8;' 标签文本样式
railColor String 'rgba(0, 0, 0, 0.1)' 轨道背景颜色
trackColor String '#6763F8' 已选轨道颜色
thumbSize Number 32 滑块大小(rpx)
thumbColor String '#FFFFFF' 滑块颜色
thumbBorder String '4rpx solid #6763F8' 滑块边框样式
valueTextSize String '20rpx' 滑块值文本大小

Events 事件

事件名 参数 说明
update:modelValue value: Number 值更新时触发(支持 v-model)
change value: Number 拖动结束时触发

时间格式化

组件会自动将分钟数格式化为易读的格式:

  • 3030分钟
  • 601小时
  • 901小时30分钟
  • 1202小时

样式定制

可以通过 props 自定义滑块的外观:

<m-time-slider
  v-model="time"
  rail-color="#E0E0E0"
  track-color="#4CAF50"
  thumb-color="#4CAF50"
  thumb-border="none"
  :thumb-size="40"
/>

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。