更新记录

1.0.13(2025-07-19) 下载此版本

增加关闭图片和选择勾勾图片的替换

1.0.12(2025-07-17) 下载此版本

实例说明文挡

1.0.11(2025-07-17) 下载此版本

补全说明文挡

查看更多

平台兼容性

云端兼容性

阿里云 腾讯云 支付宝云

uni-app(4.06)

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

hbxw-timepicker预约时间选择组件

介绍

一个预约时间选择器组件,常用于如快递,按摩等上门服务时间预约选择

使用示例

推荐先直接复制示例代码到工程中看效果了解下使用方法再投入项目使用。


<template>
    <view>
    <button @click="pickerTime(0)">预约时间0</button>
    <button @click="pickerTime(1)">预约时间1</button>
    <button @click="pickerTime(2)">预约时间2</button>
    <button @click="pickerTime(2)">预约时间3</button>
        <hbxw-timepicker v-model:isShow="showTimePicker0" :isBtn="false" @change="pickerChange"></hbxw-timepicker>
    <hbxw-timepicker v-model:isShow="showTimePicker1" :maxHour="16" :isBtn="false" @change="pickerChange"></hbxw-timepicker>
        <hbxw-timepicker v-model:isShow="showTimePicker2" :dayRange="7" :minHour="8" :maxHour="20" @change="pickerChange"></hbxw-timepicker>
        <hbxw-timepicker v-model:isShow="showTimePicker3" @change="pickerChange">
      <template #title="{title}">
        <view>{{title}}</view>
      </template>
      <template #btn="{result}">
        <button style="font-size: 24rpx;">{{result}}</button>
      </template>
    </hbxw-timepicker>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                showTimePicker0: false,
                showTimePicker1: false,
                showTimePicker2: false,
                showTimePicker3: false
            }
        },
        methods: {
            pickerTime(index) {
        this['showTimePicker'+index] = true;
      },
      pickerChange(result) {
        console.log('---- pickerChange ----:',  result);
      }
        }
    }
</script>

<style>

</style>

API

Props

属性名 类型 默认值 必填 说明
isShow Boolean false 支持v-model,控制时间选择的显示与隐藏
title String 请选择快递上门取件时间 预约时间选择器标题
subTitle String 快递1小时内上门取件,请自行做好数据备份 预约时间选择器子标题
isFast Boolean true 是否要显示即时服务,即1小时内
anotherNames Array ['今天','明天','后天'] 日期别名显示
dayRange Number 3 预约天数范围
minHour Number 9 预约时间的开始时间
maxHour Number 19 预约时间的结束时间
isBtn Boolean true 是否显示底部按钮条
isAni Boolean true 是否有动效
zIndex Number 9999 时间选择器的层级
maskOpacity Number .76 值范围0-1,设置大于0的值就会有遮罩,值越大遮罩越深
noDateTips String 今日已暂无服务 当今天无服务时显示的提示
isTwo Boolean true 月份日期时间是否需要被全二位
isAutoClose Boolean false 切换时间的时候是否自动关闭
emitEventName String 'timepicker' uni.$emit的事件名,用于从外部控制组件
closeImgSrc String 组件自带图片close 用于修改关闭按钮图片
selectImgSrc String 组件自带图片select 用于修改已选择对勾图片

Slots

插槽名 说明
title 自定义标题区域,可获取到titlesubTitle
btn 自定义底部按钮区域,可获取到result

Events

事件名 说明 返回值
change 预约时间发生变化、点击确认、关闭时触发 返回一个对象,包含 resultform 两个字段。
result 为当前选择的时间信息。
form 的值有 day(切换日期), hour(切换时间), sure(点击确认), close(关闭)

注意事项

  • v-model 在 vue2 和 vue3 中写法不一样,vue2 中为 v-model="isShow",vue3 中为 v-model:isShow="isShow"
  • 组件显示包体积较大,是因为有示例动图,其实真正打包到项目中的包体是比较小的,请放心使用

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议