基于vue2.0和elementUi的vue农历日期组件vue-jlunar-datepicker(插件)

vue-jlunar-datepicker(插件)

vue实现农历日历插件——vue-jlunar-datepicker插件

这个插件本身是基于vue2.0elementUi框架来实现的。

安装 vue-jlunar-datepicker 插件

npm install vue-jlunar-datepicker --save
// 如果安装过程中,出现报错,一般在终端中会显示出来解决办法
// 我这边确实报错了,提示的信息是elementUi版本不兼容的问题,解决方法就是:
npm install vue-jlunar-datepicker --save --force

插件在main.js中引入并注册 或组件中引入

import Vue from 'vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import JDatePicker from 'vue-jlunar-datepicker';
Vue.config.productionTip = false
Vue.use(ElementUI);
Vue.component("j-date-picker",JDatePicker);
new Vue({
  render: h => h(App)
}).$mount('#app')

或者
<script>
import JDatePicker from 'vue-jlunar-datepicker'
export default {
    components: {
        JDatePicker
    }
}
</script>

使用

<template>
    <div class="contentViews">
        <j-date-picker 
			v-model="form.birthdaydate" 
			style="width: 100%" 
            :placeholder="placeholder"
        	:picker-options="pickerOptions" 
            :rangeSeparator="rangeSeparator" 
			@change="onDateChange"
        	:disabled="disabled" 	
            :showLunarClass="showLunarClass" 
            :showLunarControl="showLunarControl" 
            :type="type"
        	:showBackYears="showBackYears" 
            :showLunarIcon="showLunarIcon" 
            :format="format">
        </j-date-picker>
    </div>
</template>
<script>
export default {
    data() {
        return {
            form: {
                birthdaydate: 'L2023-02-21',
            },
            type: 'DATERANGE', // DATE/DATERANGE
            showLunarClass: 'MIX', // FULLLUNAR/LUNAR/NUMBER/MIX 农历日期的显示类型;不区分大小写;
            showBackYears: 2, // 现在之后的年份数基于当前年份
            showLunarIcon: true,
            showLunarControl: true, // 是否默认显示农历
            width1: '300',
            format: 'YYYY/MM/DD',
            placeholder: '请选择日期',
            rangeSeparator: '-',
            disabled: false,
            editable: true,
            clearable: true,
            pickerOptions: {
                disabledDate(time) {
                    console.log(time);
                    return time.getTime() < Date.now() - 8.64e7;//这行代码是限制当前日期之前不可选择,如果注释掉,则不做限制
                }
            }
        };
    },
    methods: {
        onDateChange(val) {
            this.form.birthdaydate = val;
            this.$forceUpdate();
        }
    }
};
</script>
<style lang="less" scoped>
::v-deep.icon-richeng:before {
    content: '>';
}

/deep/.full-jcalendar__body {
    height: 240px !important;
}

/deep/.full-jcalendar .input__inner:focus {
    border-color: #f90;
}

.full-jcalendar .input__inner:hover {
    border-color: #ffcb7c;
}

/deep/.full-jcalendar__body .data-list li:hover {
    background-color: #f90;
}

/deep/.full-jcalendar-header {
    height: 30px;
    background: #ffeacb;
}

/deep/.full-jcalendar__body {
    border: 1px solid #ebebeb;
}

/deep/.full-jcalendar-header label {
    display: inline-block !important;
}

/deep/.full-jcalendar .input__inner,
/deep/input::input-placeholder {
    font-size: 13px !important;
    color: #999 !important;
}

/deep/.full-jcalendar__body .day-cell.select,
/deep/.full-jcalendar__body .data-list li.select-year {
    background-color: #f90;
}

/deep/.day-cell.today.select .number.is-today.is-empty {
    color: #fff !important;
}

/deep/.day-cell.today .number.is-today.is-empty {
    color: #f90 !important;
}

/deep/.full-jcalendar__body .day-cell.today:before,
/deep/.full-jcalendar__body .data-list li.curr-year::before {
    border-top: 0.5em solid #f90 !important;
}

/deep/.full-jcalendar-header .title-year:hover,
/deep/.full-jcalendar-header .title-month:hover {
    color: #f90 !important;
}

/deep/.full-jcalendar__main {
    width: 100% !important;
}

/deep/.iconfont.icon-richeng::before {
    content: '' !important;
}

/deep/.icon.iconfont.icon-xiangyoujiantou::before {
    content: '>' !important;
}

/deep/.icon.iconfont.icon-xiangzuojiantou::before {
    content: '<' !important;
}

/deep/.day-number>.lunar {
    font-size: 11px !important;
}

/deep/.day-cell {
    line-height: 18px !important;
}
</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端全栈分享站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值