Vue2日期选择器插件(vue-datepicker-local)

简介: 这是一个基于 Vue 的日期选择器组件库,支持年份、月份、日期和时间的选择,并且均可进行范围选择。用户可以自定义日期格式与组件样式。该示例展示了如何配置组件以限制可选日期范围,并提供了相应的代码实现。

参考文档: https://github.com/weifeiyue/vue-datepicker-local

支持年份选择器,月份选择器,日期选择器,时间选择器,且均支持范围选择

效果如下演示年月日选择(修改组件相关默认样式,并且只能选择当前时间往前50年之内的日期)

<DatePicker
    v-model="date"
    :local="local"
    placeholder="请选择注册时间"
    format="YYYY-MM-DD"
    :disabled-date="disabledDate"
    clearable />

import DatePicker from 'vue-datepicker-local'
components: {
    DatePicker
},
data () {
    return {
        date: new Date(), // 默认选择当前日期
        local: { // 定制化日期选择的格式内容
            dow: 1, // Monday is the first day of the week
            yearSuffix: '年', // format of head
            monthsHead: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), // months of head
            months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), // months of panel
            weeks: '一_二_三_四_五_六_日'.split('_') // weeks
        },
    }
},
watch: {
    date (to, from) {
        console.log('to:', to)
        if (to === '') {
            this.checkFields('date')
        } else {
            this.checkFocus('date')
        }
    }
},
methods: {
    disabledDate (date) {
        if (date.getTime() > new Date().getTime()) { // 当前日期以后的时间禁用
            return true
        }
        // 当前时间50年前的日期禁用
        if (date.getFullYear() < new Date().getFullYear() - 50) {
            return true
        }
        if (date.getFullYear() === new Date().getFullYear() - 50 && date.getMonth() < new Date().getMonth()) {
            return true
        }
        if (date.getFullYear() === new Date().getFullYear() - 50 && date.getMonth() === new Date().getMonth() && date.getDate() < new Date().getDate()) {
            return true
        }
    }
}
// 重写组件相关样式
.datepicker {
    width: 290px;
    height: 40px;
    line-height: 40px;
    /deep/ input {
        color: #444;
        height: 40px;
        line-height: 40px;
    }
    /deep/ .focus {
        border: 1px solid @mainColor;
    }
    /deep/ .datepicker-popup {
        width: 278px;
        .calendar-head {
            width: 278px;
            .calendar-year-select, .calendar-month-select  {
                font-size: 14px;
                &:hover {
                    color: @mainColor;
                }
            }
            .calendar-prev-year-btn, .calendar-prev-month-btn, .calendar-next-year-btn, .calendar-next-month-btn {
                &:hover {
                    color: @mainColor;
                }
            }
        }
        .calendar-body {
            width: 278px;
            height: 200px;
            .calendar-date {
                line-height: 100%;
            }
            .calendar-date-selected {
                background: @mainColor;
            }
        }
        .datepicker__buttons {
            .datepicker__button-cancel {
                background: E3E3E3;
            }
            .datepicker__button-select {
                background: @mainColor;
            }
        }
    }
    .calendar-date-selected {
        background: @mainColor;
    }
}
相关文章
|
JavaScript
vue 语音播报(文字转语音)
vue 语音播报(文字转语音)
1063 0
|
JavaScript
vue element plus TimeSelect 时间选择
vue element plus TimeSelect 时间选择
730 0
|
资源调度 JavaScript API
uniapp项目vue2升级vue3
uniapp项目vue2升级vue3
1710 0
|
前端开发 JavaScript 安全
【前端相关】elementui使用el-upload组件实现自定义上传
【前端相关】elementui使用el-upload组件实现自定义上传
4033 0
Element的el-table行列错位对不齐问题处理
本文目录 1. 问题表现 2. 问题发现 3. 问题处理 4. 另一种处理方案
6399 0
Element的el-table行列错位对不齐问题处理
|
JavaScript
【vue】 vue-seamless-scroll 无缝滚动依赖
【vue】 vue-seamless-scroll 无缝滚动依赖
2429 1
Vue3日期选择器(DatePicker)
该组件基于 **@vuepic/vue-datepicker@9.0.1** 进行二次封装,简化了日常使用。除范围和年选择器外,其他日期选择均返回格式化的字符串。提供了多种自定义设置,如日期选择器宽度、模式、格式等,并支持时间选择和“今天”按钮展示。详细配置及更多功能请参考[官方文档](https://vue3datepicker.com/installation/)。组件已集成所有原生属性,并支持主题颜色自定义。 示例代码展示了如何创建和使用日期选择器组件,包括基本使用、禁用日期、日期时间选择器、范围选择器等多种场景。更多功能和样式可通过官方文档了解。
4243 2
Vue3日期选择器(DatePicker)
|
JavaScript UED
【vue】iview组件 DatePicker 日期选择器如何显示默认当前日期
【vue】iview组件 DatePicker 日期选择器如何显示默认当前日期
936 1
|
存储 前端开发 Java
Element el-upload 文件上传/图片上传/拖拽上传/附带参数/附带请求头部详解
文目录 1. 前言 2. 基本用法 2.1 前端部分 2.2 后端部分 2.3 获取后端返回信息 3. 外观功能介绍 3.1 拖拽上传 3.2 显示图片 3.3 设置文件列表样式 3.4 显示提示信息 4. 事件功能介绍 4.1 限制上传文件数量 4.2 限制上传文件类型和大小 4.3 移除文件处理 4.4 手动上传 5. 附带参数 6. 附带请求头部 7. 小结
8587 0
|
存储 JavaScript 前端开发
element ui <el-date-picker> 设置展示当前月
在 Element UI 中,使用 `el-date-picker` 的 `value-format` 属性可将日期值格式化为指定字符串。设置 `type=&quot;month&quot;` 时,绑定值默认为 Date 对象,通过 `value-format=&quot;yyyy-MM&quot;` 可将其转为如 &quot;2023-05&quot; 格式,便于存储与处理。
1612 0

热门文章

最新文章