From 771911a893f9361d61052bbd5203fd55f94875bf Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Sat, 27 Jun 2026 16:21:24 +0800 Subject: [PATCH] fix: keep Tab navigation within reset-password inputs in account dialog (#9049) * Initial plan * fix: keep tab navigation on account dialog inputs --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../full/vertical-header/VerticalHeader.vue | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue b/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue index c49ddec9f..3c412c577 100644 --- a/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue +++ b/dashboard/src/layouts/full/vertical-header/VerticalHeader.vue @@ -240,6 +240,10 @@ const usernameRules = computed(() => [ const showPassword = ref(false); const showNewPassword = ref(false); const showConfirmPassword = ref(false); +const currentPasswordInput = ref(); +const newPasswordInput = ref(); +const confirmPasswordInput = ref(); +const newUsernameInput = ref(); // 账户修改状态 const accountEditStatus = ref({ @@ -1796,6 +1800,7 @@ onMounted(async () => { { required clearable @click:append-inner="showPassword = !showPassword" + @keydown.tab.exact.prevent="newPasswordInput?.focus()" prepend-inner-icon="mdi-lock-outline" hide-details="auto" class="mb-4" > { variant="outlined" clearable @click:append-inner="showNewPassword = !showNewPassword" + @keydown.tab.shift.prevent="currentPasswordInput?.focus()" + @keydown.tab.exact.prevent="confirmPasswordInput?.focus()" prepend-inner-icon="mdi-lock-plus-outline" :hint="t('core.header.accountDialog.form.passwordHint')" persistent-hint @@ -1825,6 +1834,7 @@ onMounted(async () => { > { >