From 0d9e59dad9d48d680be82a1692473adaefbca75e Mon Sep 17 00:00:00 2001 From: MaysWind Date: Thu, 22 Jan 2026 22:23:05 +0800 Subject: [PATCH] fix the import dialog sometimes fails to automatically remember the last selected type --- .../desktop/transactions/import/ImportDialog.vue | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/views/desktop/transactions/import/ImportDialog.vue b/src/views/desktop/transactions/import/ImportDialog.vue index 300065fa..ac6318f9 100644 --- a/src/views/desktop/transactions/import/ImportDialog.vue +++ b/src/views/desktop/transactions/import/ImportDialog.vue @@ -960,10 +960,16 @@ function close(completed: boolean): void { } watch(fileType, (newValue) => { - if (allFileSubTypes.value && allFileSubTypes.value.length) { - fileSubType.value = allFileSubTypes.value[0]!.type; + const subFileTypes = allSupportedImportFileTypesMap.value[newValue]?.subTypes; + + if (subFileTypes && subFileTypes.length) { + if (fileSubType.value !== subFileTypes[0]!.type) { + fileSubType.value = subFileTypes[0]!.type; + } else if (settingsStore.appSettings.rememberLastSelectedFileTypeInImportTransactionDialog && !loading.value) { + settingsStore.setLastSelectedFileTypeInImportTransactionDialog(`${newValue}|${fileSubType.value}`); + } } else { - if (settingsStore.appSettings.rememberLastSelectedFileTypeInImportTransactionDialog) { + if (settingsStore.appSettings.rememberLastSelectedFileTypeInImportTransactionDialog && !loading.value) { settingsStore.setLastSelectedFileTypeInImportTransactionDialog(`${newValue}|`); } } @@ -975,7 +981,7 @@ watch(fileType, (newValue) => { }); watch(fileSubType, (newValue) => { - if (settingsStore.appSettings.rememberLastSelectedFileTypeInImportTransactionDialog) { + if (settingsStore.appSettings.rememberLastSelectedFileTypeInImportTransactionDialog && !loading.value) { settingsStore.setLastSelectedFileTypeInImportTransactionDialog(`${fileType.value}|${newValue}`); }