diff --git a/src/views/mail/Mailbox.vue b/src/views/mail/Mailbox.vue index 726f859..c79a628 100644 --- a/src/views/mail/Mailbox.vue +++ b/src/views/mail/Mailbox.vue @@ -75,6 +75,15 @@ const changePwdForm = ref({ OldPassword: '', NewPassword: '', ConfirmPassword: ' const myAddress = computed(() => selectedMailbox.value?.MailboxName || '') const mailboxCount = computed(() => myMailboxes.value.length) const atMailboxLimit = computed(() => myMailboxes.value.length >= 5) +/** 登录页邮箱选择:字符串驱动显示,避免 el-select 对象引用匹配失效 */ +const selectedName = computed({ + get: () => selectedMailbox.value?.MailboxName || '', + set: (name: string) => { + const hit = myMailboxes.value.find((m) => m.MailboxName === name) + if (hit) selectedMailbox.value = hit + loginForm.value.Password = '' + }, +}) // === 本地已读覆盖 === // Stalwart v0.11 存在 JMAP keywords 写入已知 bug(GitHub #1139):setSeen 返回成功但已读随机回退未读, @@ -726,14 +735,14 @@ function isSelected(id: string): boolean {