ОБНОВЛЕНИЕ:
Это ошибка, и я поднял ее как проблему на 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>