更新记录

1.0.0(2024-01-02)

初版


平台兼容性

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

x-time-picker

只支持vue3,使用最新的顶层语法编写

uniapp 日期时间选择器

  • 可选择年, 月, 日, 时, 分, 秒
  • 可选择阳历阴历
  • 支持自定义样式,边框,背景,字体等

演示效果图

属性说明

属性 是否必填 值类型 默认值 说明
title String 生日选择器 标题
maskBgColor String rgba(0,0,0,0.3) 遮罩层背景色支持rgab和16进制颜色
isShowCalendar Boolean true 是否显示公历和农历按钮
start-year Number 2000 选择开始年份
end-year Number 2099 选择结束年份
time-init Number new Date().valueOf() 自定义初始时间, 默认为当前时间, 值为时间戳
time-hidden Array [true, true, true, true, true, true] 自定义时间列显示,默认显示年月日日分
time-label Array ['年', '月', '日', '时', '分', '秒'] 自定义各个时间单位
@submit Function Object 监听选择事件, 回调函数的第一个参数包含了选择时间的完整信息

完整示例

注意你的组件位置

<template>
  <view class="wrap">
    <button type="default" @click="openDatetimePicker">生日选择器</button>

    <view>支持农历/公历</view>

    <text style="padding: 20px; color: red; font-size: 18px"
      >返回的对象值:</text
    >
    <text style="padding: 20px; color: red; font-size: 18px">{{
      JSON.stringify(md.timeObj, null, "  ")
    }}</text>

    <DateTimePicker
      ref="myPickerRef"
      @submit="handleSubmit"
      title="生日选择器"
      maskBgColor="rgba(0,0,0,0.3)"
      :isShowCalendar="true"
      :start-year="1949"
      :end-year="2049"
      :timeInit="Date.now()"
      :time-hide="[true, true, true, true, true, false]"
      :time-label="['年', '月', '日', '时', '分', '秒']"
    />
  </view>
</template>

<script setup>
import { ref, reactive, onMounted, watch, computed } from "vue";
import { onReady } from "@dcloudio/uni-app";

import DateTimePicker from "@/common/components/x-dateTimePicker/x-dateTimePicker.vue";

const md = reactive({
  timeObj: {},
});

const myPickerRef = ref(null);

function openDatetimePicker() {
  myPickerRef.value.show();
}

function closeDatetimePicker() {
  myPickerRef.value.hide();
}

function handleSubmit(timeObj) {
  console.log(timeObj);
  md.timeObj = timeObj;
}
</script>

<style scoped lang="scss">
.wrap {
  padding: 20px;
  button {
    margin-bottom: 20px;
  }
}
</style>

隐私、权限声明

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

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

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

许可协议

MIT协议

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