日期时间选择器 DatePicker

日期时间选择器 DatePicker

一款高颜值、多场景的日期时间选择器,提供自定义颜色/格式/文案等。
该插件采用scss编译,如遇到样式/层级问题可以到源码修改。 如果对您有帮助,可以评论或赞赏一下,谢谢!

属性说明

属性类型默认值说明
showBooleanfalse是否显示
typeStringdate类型,可选值:date(日期)、time(时间)、datetime(日期时间)、range(日期范围)、rangetime(日期时间范围)
colorString#409eff选择控件的颜色
formatString自定义格式,参考下方格式说明
valueString, Array设置显示的值(如果用了format需要个format格式一致,否则需要标准的能被Date解析的字符串(time除外))
showSecondsBooleanfalse是否显示秒(type为datetime/time时生效)
showHolidayBooleantrue是否显示公历节日
showTipsBooleanfalse是否显示提示文字(type为range/rangetime时生效)
beginTextString开始开始文案(type为datetime/time时生效)
endTextString结束结束文案(type为datetime/time时生效)
@confirm ConfirmObject确认选择事件
@cancel Boolean取消选择事件(接收一个false)

format

格式含义
y
m
d
h
i
s
示例:yyyy/mm/dd hh:ii:ss => 2019/03/26 23:39

ConfirmObject

{
    value: ..., //当前选择的值(String/Array)
    date: ..., //当前所选值的原始Date对象
}

使用示例

<template>
    <view>
        <view class="test">
            <view>日期选择 - 示例</view>
            {{date}}
            <button type="primary" @click="DatePicker('date')">选择日期</button>
            {{time}}
            <button type="primary" @click="DatePicker('time')">选择时间</button>
            {{datetime}}
            <button type="primary" @click="DatePicker('datetime')">选择日期时间</button>
            {{range[0]}} - {{range[1]}}
            <button type="primary" @click="DatePicker('range')">选择日期范围</button>
            {{rangetime[0]}} - {{rangetime[1]}}
            <button type="primary" @click="DatePicker('rangetime')">选择日期时间范围</button>
        </view>
        <mx-date-picker :show="showPicker" :type="type" :value="value" :show-tips="true" :begin-text="'入住'" :end-text="'离店'" :show-seconds="true" @confirm="ed" @cancel="ed" />
    </view>
</template>
<script>
    import MxDatePicker from "@/components/mx-datepicker/mx-datepicker.vue";
    export default {
        components: {
            MxDatePicker
        },
        data() {
            return {
                show: false,
				showPicker: false,
                date: '2021/06/01',
                time: '15:00:12',
                datetime: '2019/01/01 15:00:12',
                range: ['2021/08/01','2021/08/10'],
                rangetime: ['2021-08-01','2021-08-10'],
                type: 'rangetime',
                value: ''
            }
        },
        methods: {
            DatePicker(type){//显示
                this.type = type;
                this.showPicker = true;
                this.value = this[type];
            },
            ed(e) {//选择
                this.showPicker = false;
                if(e) {
                    this[this.type] = e.value; 
                    //选择的值
                    console.log('value => '+ e.value);
                    //原始的Date对象
                    console.log('date => ' + e.date);
                }
            }
        }
    }
</script>
<style>
    .test{
        text-align: center;
        padding: 10px 0;
    }
    button{
        margin: 20upx;
        font-size: 28upx;
    }
</style>

动画演示

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值