首页 > 解决方案 > VueJS Datepicker 将不接受 dd/MM/yy

问题描述

更新:

这是一个错误,我已在 github 上将其作为问题提出。TBH,该组件还没有真正为主流使用做好准备。


如果日期为 13 或更大,我vuejs-datepicker将不接受 dd/mm/yy 格式。大概这是因为它将前两位数字解释为月份,因此拒绝任何大于 12 的数字。

日历弹出。您可以选择一个日期,它会显示在输入字段中。但是,一旦该字段失去焦点,它就会被清除。

我尝试使用静态字符串作为 的值format和函数。下面是功能版本。

HTML:

<div id="respond_by">
    <date-picker name="respond_by"></date-picker>
</div>

页面底部的脚本:

<script>
    $(function () {
        new Vue({ el: "#respond_by" });
    });
</script>

我的单个文件组件:

<template>
    <vue-date-picker placeholder="dd/mm/yy"
                     input-class="form-control"
                     :name="name"
                     :format="customDateFormat"
                     monday-first
                     typeable></vue-date-picker>
</template>

<script>
    import moment from 'moment';
    import DatePicker from 'vuejs-datepicker';

    export default {
        props : [
            'name'
        ],
        components: {
            'vue-date-picker' : DatePicker
        },
        methods: {
            customDateFormat(date) {
                return moment(date).format('DD/MM/YY');
            }
        }
    }
</script>

全局注册组件:

import DatePicker from './date-time/date-picker.vue';
Vue.component('date-picker', DatePicker);

我已经测试了 Firefox 和 Chrome,结果相同。

我已经测试了vuejs-datepicker代码沙箱,它在那里运行良好,https://codesandbox.io/s/mpklq49wp。我通过将以下行添加到格式化示例中的选项列表来测试它:

<option value="dd/MM/yy">dd/MM/yy - e.g 13/11/18</option>

标签: vue.jsvuejs-datepicker

解决方案


推荐阅读