VueJS Datepicker не будет принимать дд / мм / гг - PullRequest
0 голосов
/ 16 ноября 2018

ОБНОВЛЕНИЕ:

Это ошибка, и я поднял ее как проблему на github.TBH, компонент еще не готов к массовому использованию.


My vuejs-datepicker не примет формат дд / мм / гг, если день 13 или больше.Предположительно, это потому, что он интерпретирует первые две цифры как месяц и поэтому отклоняет все, что больше 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>
...