Chrome ввода даты не движется дата (Vue) - PullRequest
0 голосов
/ 29 октября 2019

У меня есть поле ввода даты в компоненте Vue / Vuex. Chrome позволяет пользователю выбрать день месяца и затем нажимать вверх или вниз. Например, если изначально дата 30.09.2009, пользователь может выбрать 30 и щелкнуть вверх, чтобы создать недействительный 31.09.2009. У меня есть поле даты как v-модель и некоторая проверка в сеттере. (См. Ниже) Однако, когда я нажимаю до 31, установщик обнаруживает недопустимую дату (пустую строку) и отображает мое сообщение об ошибке, но на самом деле не меняет дату на 31. Он действительно меняет число при втором щелчке и по-прежнемуобнаруживает это как недействительную дату. Если я уберу валидацию, клик сразу же переместится на 31, как и ожидалось. Есть предложения?

<input class="form-control input-focus date-text" id="EndDate" name="EndDate"
     placeholder="Select date of service" type="date" v-model="endDate"
     data-val="true" data-val-date="The field must be a date.">
.
.
.
computed: {
    endDate: {
        get(): string {
            return this.$store.getters['filterStore/endDate'];
        },
        set(newDate: string) {
            if (newDate !== '') {
                this.$store.dispatch('filterStore/setInvalidDate', { value: false });
                this.$store.dispatch('filterStore/setFilterEndDate', { date: newDate });
            } else {
                this.$store.dispatch('filterStore/setInvalidDate', { value: true });
            }
        },
    },

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...