更新记录

1.0.0(2025-05-13) 下载此版本

初版


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.99
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

Picker-Date-Range 时间选择器组件

Picker-Date-Range是一个日期范围选择器组件,用于选择开始日期和结束日期范围。

功能特点

  • 支持日期范围选择(开始日期-结束日期)
  • 支持设置默认日期
  • 支持最小/最大日期限制
  • 平滑的动画过渡效果
  • 自动防止结束日期早于开始日期

属性说明

属性 类型 默认值 说明
minDate String '2010-01-01' 可选择的最小日期
maxDate String '2030-12-31' 可选择的最大日期
startDateInit String '' 初始开始日期,格式为'YYYY-MM-DD'
endDateInit String '' 初始结束日期,格式为'YYYY-MM-DD'

事件

事件名 说明 回调参数
confirm 点击确定按钮时触发 { startDate, endDate }
cancel 点击取消或遮罩层时触发 -

方法

方法名 说明 参数
showPicker 显示选择器 defaultDate (可选): 字符串,默认为当前日期

基本用法

<template>
  <view>
    <view @click="openDatePicker">
      <text>选择日期: {{ dateRangeText }}</text>
    </view>

    <PickerDateRange
      ref="datePickerRef"
      :startDateInit="startDate"
      :endDateInit="endDate"
      @confirm="onDateConfirm"
    >
      <view>点击此处打开日期选择器</view>
    </PickerDateRange>
  </view>
</template>

<script setup>
import { ref, computed } from "vue"
import PickerDateRange from "@/components/Picker-Date-Range/index.vue"

const datePickerRef = ref(null)
const startDate = ref("")
const endDate = ref("")

// 格式化显示日期范围
const dateRangeText = computed(() => {
  if (startDate.value && endDate.value) {
    return `${startDate.value} 至 ${endDate.value}`
  }
  return "请选择日期范围"
})

// 打开日期选择器
const openDatePicker = () => {
  // 可以传入默认日期,不传则使用当天日期
  datePickerRef.value.showPicker()
}

// 日期确认回调
const onDateConfirm = (dates) => {
  startDate.value = dates.startDate
  endDate.value = dates.endDate

  // 这里可以进行其他操作,如数据请求等
  console.log("选择的日期范围:", dates)
}
</script>

重置日期示例

<template>
  <view>
    <view class="flex items-center">
      <view @click="openDatePicker">选择日期: {{ dateRangeText }}</view>
      <view @click="resetDate" v-if="startDate && endDate">重置</view>
    </view>

    <PickerDateRange
      ref="datePickerRef"
      :startDateInit="startDate"
      :endDateInit="endDate"
      @confirm="onDateConfirm"
    />
  </view>
</template>

<script setup>
import { ref, computed } from "vue"
import PickerDateRange from "@/components/Picker-Date-Range/index.vue"

const datePickerRef = ref(null)
const startDate = ref("")
const endDate = ref("")

const dateRangeText = computed(() => {
  if (startDate.value && endDate.value) {
    return `${startDate.value}-${endDate.value}`
  }
  return "选择日期"
})

const openDatePicker = () => {
  datePickerRef.value.showPicker()
}

const onDateConfirm = (dates) => {
  startDate.value = dates.startDate
  endDate.value = dates.endDate
}

const resetDate = () => {
  // 重置日期范围
  startDate.value = ""
  endDate.value = ""
}
</script>

注意事项

  1. 使用前需要通过ref获取组件实例才能调用showPicker方法
  2. 日期格式统一为'YYYY-MM-DD'
  3. 重置日期后,再次打开选择器将显示当天日期
  4. 组件内部会自动处理日期范围的合法性,确保结束日期不早于开始日期

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问