Почему DatePicker возвращает ноль? - PullRequest
1 голос
/ 07 октября 2019

У меня есть два текстовых поля start_date и end_date. Моя проблема, когда я нажимаю search button, это дает значение null. Я хочу предупредить и отобразить значение внутри текстового поля. Я думаю, что проблема начинается, когда я нажимаю кнопку переключения. Я использую jquery с Vuejs. Может ли кто-нибудь помочь мне с моей проблемой? Вот мой jsFiddle -> https://jsfiddle.net/vL4z071a/

toggleView : function() {
    if(this.first_view == true) {
      this.first_view = false;
      this.second_view = true;
    }
    else {
      this.second_view = false;
      this.first_view = true;
    }
    var args = {
      format: 'YYYY-MM-DD'
    };
    this.$nextTick(function() {
      $('.datepicker').datetimepicker(args)
      $('.datepicker2').datetimepicker(args)
    });

    this.$nextTick(function() {
      $('.time-picker').datetimepicker({
        format: 'LT'
      })
    }); 
},
displayDate : function() {
    alert(this.start_date);
    alert(this.end_date);
}

1 Ответ

0 голосов
/ 07 октября 2019

Ваши датеры не существовали, когда вы отображали second-view. Я проверил, существуют ли селекторы или нет, и они вернули длину 0. Поэтому при выборе даты в календаре Vue не устанавливал дату начала / окончания. Я создал прослушиватель для самого документа, чтобы прослушивать dp.change и соответствующим образом обновлять календари.

JsFiddle

$(document).on('dp.change', function(event) {
  if (event.date) {
    var date = event.date.format('YYYY-MM-DD');
    (event.target.className.indexOf('datepicker2') > -1) ? Vue.set(vm, 'end_date', date): Vue.set(vm, 'start_date', date);
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...