bugfix: 保存按钮错乱问题

This commit is contained in:
2026-06-09 10:55:15 +08:00
parent 73dbd34e0a
commit 0f6725262b
2 changed files with 9 additions and 6 deletions

View File

@@ -28,7 +28,7 @@
</div>
</div>
<div v-show="isEditing && isEditingEmail" class="security-row">
<div v-if="isEditing && isEditingEmail" class="security-row">
<div class="security-label">{{ t('Settings.security.newEmail') }}</div>
<div class="outlined-field verify-field">
<el-input
@@ -75,7 +75,7 @@
</div>
</div>
<div v-show="isEditing && isEditingPassword" class="security-row">
<div v-if="isEditing && isEditingPassword" class="security-row">
<div class="security-label">{{ t('Settings.security.newPassword') }}</div>
<div class="outlined-field">
<PasswordTip :value="newPassword" v-show="showNewPWDTip" />
@@ -92,7 +92,7 @@
<div class="security-tip">{{ t('Settings.security.passwordTip') }}</div>
</div>
<div v-show="isEditing && isEditingPassword" class="security-row">
<div v-if="isEditing && isEditingPassword" class="security-row">
<div class="security-label">{{ t('Settings.security.currentPassword') }}</div>
<div class="outlined-field">
<PasswordTip :value="newPassword" v-show="showOldPWDTip" />

View File

@@ -123,9 +123,12 @@ export function useSettingsForm({ t, locale }: UseSettingsFormOptions) {
() => hasNewEmailChange.value && verifiedEmail.value === normalizedNewEmail.value
)
const hasNewPasswordChange = computed(() => securityDraft.value.newPassword.length > 0)
const needsEmailVerification = computed(
() => (hasNewEmailChange.value || hasNewPasswordChange.value) && !isEmailVerified.value
)
const needsEmailVerification = computed(() => {
if (!hasNewEmailChange.value && !hasNewPasswordChange.value) return false
if (hasNewEmailChange.value && !isEmailVerified.value) return true
if (hasNewPasswordChange.value && !verificationCode.value) return true
return false
})
const displayLanguageLabel = computed(() =>
displayData.value.language ? t(`Settings.languages.${displayData.value.language}`) : ''
)