From 0a20aef678c5fceb95b5f03fc92c3ab2871b8593 Mon Sep 17 00:00:00 2001 From: richarjiang Date: Tue, 7 Apr 2026 10:13:20 +0800 Subject: [PATCH] fix(app): ensure edit form initializes after async data loads - switchTab('edit') now awaits fetchCardTypes and loadDetailMembership before calling initEditForm, fixing blank form fields for new cards Co-Authored-By: Claude Opus 4.6 --- packages/app/src/pages/admin/members.vue | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/app/src/pages/admin/members.vue b/packages/app/src/pages/admin/members.vue index aaad165..0466a47 100644 --- a/packages/app/src/pages/admin/members.vue +++ b/packages/app/src/pages/admin/members.vue @@ -430,21 +430,19 @@ async function loadDetailMembership(userId: string) { } } -function switchTab(tab: 'detail' | 'edit') { +async function switchTab(tab: 'detail' | 'edit') { activeTab.value = tab if (tab === 'edit') { + // Always fetch card types if not yet loaded if (!editCardTypes.value.length) { - adminStore.fetchCardTypes().then((types) => { - editCardTypes.value = types - }) + await adminStore.fetchCardTypes() + editCardTypes.value = adminStore.cardTypes } + // Load membership if not yet loaded if (!detailMembership.value) { - loadDetailMembership(detailMember.value!.userId).then(() => { - initEditForm() - }) - } else { - initEditForm() + await loadDetailMembership(detailMember.value!.userId) } + initEditForm() } }