Аргумент типа '{from: string; нанизывать; } 'нельзя назначить параметру типа' string | Дата'. в разрешении даты в flatpickr - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь включить даты в каландре flatpickr, который интегрирован с угловым.Поэтому, когда я пытаюсь нажать объект даты включения, чтобы включить опцию конфигурации flatpickr, я получаю Argument of type '{ from: string; to: string; }' is not assignable to parameter of type 'string | Date'.

Вот код для конфигурации.of flatpickr: -

this.exampleOptions = {
  dateFormat: "d.m.Y",
  minDate: "today",
  maxDate: "",
  onChange: function (selectedDates, dateStr) {
    // console.log('selected date is ', selectedDates);
    console.log('latest selected dates ', dateStr);
    this.selectedDate = selectedDates;
    this.dateSelected = selectedDates;
    console.log('this.dateSelected ', this.dateSelected);
    console.log('this.selectedDate ', this.selectedDates);
  }
};

В функции, которую я использую этот объект конфигурации для включения дат: -

allAboutDateAndTime(){
  if (this.experienceData.dateRangeList != null && this.experienceData.dateRangeList != undefined && this.experienceData.dateRangeList.length > 0) {
  this.experienceData.dateRangeList.forEach((date: DateRange) => {
    const from = date.startDate.toString();
    const to = date.endDate.toString();
    const enable = {
      from: from,
      to: to
    };
    this.exampleOptions.enable.push(enable); // GETTING ERROR HERE
  });
}

Это ошибка, которую я получаю

Argument of type '{ from: string; to: string; }' is not assignable to parameter of type 'string | Date'. Type '{ from: string; to: string; }' is missing the following properties from type 'Date': toDateString, toTimeString, toLocaleDateString, toLocaleTimeString, and 38 more

Я ожидаю, что это разрешит назначенные даты, как указано в flatpickr documentmentaion

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Поскольку вы используете Angular, я полагаю, вы должны использовать ng2-flatpickr Полагаю.И я попытался загрузить их пакет Javascript flatpickr и ng2-flatpickr , и я узнал, что их угловой пакет не обладает всеми функциями пакета JS!

Согласно их JS-пакету, это свойство enable должно соответствовать типу следующего изображения ...

enter image description here

Asсогласно их угловому пакету свойство enable должно иметь тип ...

enter image description here

Так что, вероятно, вы не можетеиспользуйте угловой пакет, чтобы добиться того, что вам нужно.Либо вы должны попытаться использовать пакет JS в своем угловом проекте, либо вы должны поднять проблему в репозитории Angular github.

Ошибка - опция enable должна поддерживать функцию # 57

Уже существует проблема, связанная с тем, чтобы попросить сделать так, чтобы enable свойство принималофункция как пакет JS делает!

Так что вы можете поднять свою проблему там!Или, если вы хотите как-то добиться этого в своем проекте, попробуйте с их пакетом JS!

0 голосов
/ 16 мая 2019

Вы пытались использовать тот же console.log (this.experienceData), чтобы проверить, какой это тип объекта и какие свойства и методы у него есть? Может быть, массив enable никогда не назначается сам по себе, и вам нужно инициализировать его перед использованием на пустой?

Похоже, вы пытаетесь присвоить существующему свойству свойство другого типа или передать массив, который не содержит объекты этого типа, которые вы пытаетесь представить.

Попробуйте это:

this.exampleOptions.enable = [{ от: "2025-04-01", к: "2025-05-01" }]

Если это все еще ошибка, то в вашем коде есть что-то, что неправильно присваивает тип или не инициализирует массив в первую очередь.

UPDATE

Попробуйте

this.exampleOptions = {
  dateFormat: "d.m.Y",
  minDate: "today",
  maxDate: "",
  enable: ["2015-12-01"]
  onChange: function (selectedDates, dateStr) {
    // console.log('selected date is ', selectedDates);
    console.log('latest selected dates ', dateStr);
    this.selectedDate = selectedDates;
    this.dateSelected = selectedDates;
    console.log('this.dateSelected ', this.dateSelected);
    console.log('this.selectedDate ', this.selectedDates);
  }
};

Попробуйте инициализировать объект вместе с массивом включения и некоторым случайным значением, соответствующим формату, посмотрите, работает ли он тогда. В противном случае попробуйте назначить подходящие типы для каждой переменной.

...