vue-vuejs-datepicker 禁用日期与当前日期高亮显示

2 篇文章 0 订阅

插件安装就不用多介绍了。官网有,下面简单的介绍一下

假如有什么不懂的可以私信

//npm安装
npm install vuejs-datepicker --save 

//引入组件
import Datepicker from 'vuejs-datepicker';

//实例化组件
export default {

  // ...

  components: {

    Datepicker

  }

  // ...

}

我直接把我的组件代码搬过来了,里面有注释,稍微看过这个组件的应该能看懂参数怎么用 

<style lang="less">
    @import (reference) "../../theme/var/var";

    .com-date-picker{
        display: inline-block;

        input{
            width: 100px;
            height: 28px;
            color: @color-666;
            font-size: 12px;
            text-align: center;
            background: #fff;
            border: 1px solid @default-input-border-color;
            border-radius: @border-radius-4;
            outline: none;
        }

        &.has-date {
            input {
                padding-right: 20px;
                text-indent: 5px;
            }

            .vdp-datepicker__clear-button {
                position: absolute;
                top: 2px;
                right: 0;
                display: inline-block;
                padding-left: 5px;
                width: 20px;
                text-align: left;
            }
        }

        .vdp-datepicker__calendar{
            width: 280px;
            white-space: normal;
        }

        .cell{
            height: 36px;
            line-height: 36px;
        }
        .cell.selected{
            background: @color-primary;
            color: #fff;
        }
    }
</style>

<template>
    <div :class="['com-date-picker', curDate.length > 0 ? 'has-date' : '']">
        <date-picker :value="dateValue"
                     :language="zh"
                     format="yyyy-MM-dd"
                     :placeholder="placeholder"
                     :clear-button="ifShowClearBtn"
                     :disabledDates="disabledDates"
                     :highlighted="highlightedFn"
                     @selected="changeDate($event)"
                     @cleared="clearDate">
        </date-picker>
    </div>
</template>

<script>
    import DatePicker from 'vuejs-datepicker'
    import {en, zh} from 'vuejs-datepicker/dist/locale'

    export default {
        data (){
            return {
                curDate : '',
                ifShowClearBtn : true,
                en : en,
                zh : zh,
                //高亮当前日期
                highlightedFn: {
                    customPredictor(date) {
                    if (date.getDate() ===  (new Date()).getDate()) {
                            return true;
                        }
                    }
                },
                //设置当前日期之后不能选中
                disabledDates: {
                    customPredictor(date) {
                    if (date.getTime() > (new Date()).getTime()) { 
                            return true;
                        }
                    }
                },
            }
        },
        props : {
            dateValue : {
                type : String,
                default : function(){
                    return ''
                }
            },
            placeholder : {
                type : String,
                default : function(){
                    return '开始日期'
                }
            }
        },
        watch:{
            dateValue : function(val){
                this.curDate = val;
            }
        },
        components : {
            DatePicker
        },
        methods : {
            changeDate (data){
                if(data){
                    this.curDate = this.$VUtils.dateFormat(data,'yyyy-MM-dd');
                }else {
                    this.curDate = '';
                }
                this.$emit('changeDate',this.curDate);
            },
            clearDate (){
                this.curDate = '';
                this.$emit('clearDate');
            },
        }
    }
</script>

手敲代码不容易  ,一块两块也是爱!

微信

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值