#javascript #typescript #fullcalendar-4
#javascript #typescript #полный календарь-4
Вопрос:
Я пытаюсь передать значение даты в плагин rrule полного календаря следующим образом
Endate = null;
rrule: {
freq: "Daily",
interval: 1,
dtstart: StartDate.toDate(),
until: EndDate.toDate()
}
в моем EndDate, как вы можете видеть, я форматирую его.ToDate() .
Но теперь моя конечная дата также может быть нулевой, так что это приведет к сбою, когда я передам ее для форматирования.ToDate()
Мой вопрос в том, что если моя конечная дата равна нулю, как я могу передать это значение как просто null, и если у меня есть значение, тогда я могу.ToDate() это
я пробовал что-то вроде этого
until: EndDate == ?? || EndDate.toDate()
// так что, если его значение равно нулю, передайте это значение или передайте значение, если оно не равно нулю
Но вышеупомянутое не работает.
я пробовал это
until:EndDate === null ? null:EndDate.toDate() // this works but is there a cleaner way to do it instead of reassigning endDate to null?
Комментарии:
1. Нет, нет более чистого способа сделать это, кроме того, что у вас есть для работы.
2. @Russ хорошо, я просто подумал, что это выглядит немного грязно
3. Как насчет
EndDate ? EndDate.toDate() : null
4. Какую магию вы ожидаете?
Ответ №1:
Я думаю, что необязательная цепочка — это то, что вы ищете.
endDate?.toDate()
попытается вызвать метод ToDate и вернет undefined, если EndDate равно нулю.
Если вам нужно until
быть нулевым, а не неопределенным, вы можете использовать endDate?.toDate() ?? null
вместо
Ответ №2:
Вы можете использовать необязательный оператор цепочки EndDate?.toDate()
https://codepen.io/niklhs/pen/oNzdaGw?editors=1111
Он не выдаст ошибку, если EndDate
это либо undefined
или null
. Вместо этого оно вернется undefined
.