From 2ed5343942b0b6f2db0e9c74ad87c44250e8669b Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Sat, 26 Feb 2022 10:28:16 -0800 Subject: [PATCH] fix(date-picker): use calendar.set method to update options --- src/DatePicker/DatePicker.svelte | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/DatePicker/DatePicker.svelte b/src/DatePicker/DatePicker.svelte index 15b38441..3253936f 100644 --- a/src/DatePicker/DatePicker.svelte +++ b/src/DatePicker/DatePicker.svelte @@ -139,10 +139,24 @@ }); async function initCalendar(options) { - calendar?.destroy(); - calendar = null; + if (calendar) { + calendar.set("minDate", minDate); + calendar.set("maxDate", maxDate); + calendar.set("locale", locale); + calendar.set("dateFormat", dateFormat); + Object.entries(flatpickrProps).forEach(([option, value]) => { + calendar.set(options, value); + }); + return; + } + calendar = await createCalendar({ - options, + options: { + ...options, + appendTo: datePickerRef, + defaultDate: $inputValue, + mode: $mode, + }, base: inputRef, input: inputRefTo, dispatch: (event) => { @@ -196,17 +210,15 @@ $: valueFrom = $inputValueFrom; $: inputValueTo.set(valueTo); $: valueTo = $inputValueTo; - $: if ($hasCalendar && inputRef) + $: if ($hasCalendar && inputRef) { initCalendar({ - appendTo: datePickerRef, dateFormat, - defaultDate: $inputValue, locale, maxDate, minDate, - mode: $mode, ...flatpickrProps, }); + }