From d13c53114bc18401566b503cb9da481d8d4c7dfd Mon Sep 17 00:00:00 2001 From: yikoyu <2282373181@qq.com> Date: Wed, 3 May 2023 23:44:13 +0800 Subject: [PATCH] fix: cannot switch locale emojiDataPromise is cached, making it impossible to switch languages later --- packages/picmo/src/createPicker.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/picmo/src/createPicker.ts b/packages/picmo/src/createPicker.ts index f1d27ab..ffd0aa7 100644 --- a/packages/picmo/src/createPicker.ts +++ b/packages/picmo/src/createPicker.ts @@ -18,6 +18,7 @@ function initData(options: PickerOptions): Promise<DataStore> { let pickerIndex = 0; let emojiDataPromise; +let __lastLocale__; function getPickerId() { return `picmo-${Date.now()}-${pickerIndex++}`; @@ -41,8 +42,11 @@ export function createPicker(options: Partial<PickerOptions>): EmojiPicker { })); const events = new AppEvents(); - if (!emojiDataPromise) { + + const isLocaleChange = __lastLocale__ !== finalOptions.locale + if (!emojiDataPromise || isLocaleChange) { emojiDataPromise = initData(finalOptions); + __lastLocale__ = finalOptions.locale } const i18n = new Bundle(finalOptions.i18n);