更新记录

1.0.0(2026-03-16) 下载此版本

日期范围选择器


平台兼容性

uni-app(3.7.3)

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

at-date-range

日期范围选择器使用文档

简介

一个支持底部弹出动画、时间范围限制的日期范围选择器组件,适用于移动端H5/小程序。

效果预览

  • 底部弹出动画
  • 支持最小/最大日期限制
  • 直观的日期范围选择交互
  • 今日高亮显示

安装导入

import AtDateRange from '@/components/at-date-range.vue'

基础用法

1. 最简用法

<template>
    <view>
        <button @click="showPicker = true">选择日期</button>
        <at-date-range v-model="showPicker" @confirm="handleConfirm" />
    </view>
</template>

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

const showPicker = ref(false)

const handleConfirm = (range) => {
    console.log('选择范围:', range) // { start: '2024-01-01', end: '2024-01-07' }
}
</script>

2. 双向绑定用法

<template>
    <view>
        <view>已选择:{{ startDate }} 至 {{ endDate }}</view>
        <button @click="showPicker = true">修改日期</button>

        <at-date-range 
            v-model="showPicker"
            v-model:startDate="startDate"
            v-model:endDate="endDate"
            @confirm="handleConfirm"
        />
    </view>
</template>

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

const showPicker = ref(false)
const startDate = ref('2024-01-01')
const endDate = ref('2024-01-07')
</script>

3. 带时间范围限制

<template>
    <view>
        <button @click="showPicker = true">选择日期</button>

        <at-date-range 
            v-model="showPicker"
            :minDate="minDate"
            :maxDate="maxDate"
            @confirm="handleConfirm"
        />
    </view>
</template>

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

const showPicker = ref(false)

// 限制可选范围:今天 ~ 30天后
const minDate = new Date()
const maxDate = new Date()
maxDate.setDate(maxDate.getDate() + 30)

// 限制可选范围:固定日期
// const minDate = '2024-01-01'
// const maxDate = '2024-12-31'
</script>

参数说明

参数 说明 类型 默认值 可选值
v-model 控制选择器显示隐藏 Boolean false true/false
startDate 开始日期 String/Number/Date null -
endDate 结束日期 String/Number/Date null -
title 标题 String '选择日期范围' -
minDate 最小可选日期 String/Number/Date null -
maxDate 最大可选日期 String/Number/Date null -
format 日期格式 String 'YYYY-MM-DD' -
bottomOffset 底部偏移量 String '0' 如 '100rpx'
animationDuration 动画持续时间(ms) Number 300 -

事件回调

事件名 说明 返回值
@confirm 点击确定时触发 { start: '2024-01-01', end: '2024-01-07' }
@cancel 点击取消或遮罩时触发 -
@update:modelValue 显示状态变化时触发 true/false
@update:startDate 开始日期变化时触发 '2024-01-01'
@update:endDate 结束日期变化时触发 '2024-01-07'

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。