fix: 功能优化完善。

This commit is contained in:
tianyongbao
2025-12-19 14:09:46 +08:00
parent d2b02e8ea9
commit c20ad6f9a5

View File

@@ -99,7 +99,7 @@
</div>
<!-- 分类编辑对话框 -->
<div v-if="showSuperCategoryDialog" class="dialog-overlay" @click="closeSuperCategoryDialog">
<div v-if="showSuperCategoryDialog" class="dialog-overlay">
<div class="dialog" @click.stop>
<h3>{{ superCategoryForm.id ? '编辑分类' : '添加分类' }}</h3>
<div class="form-group">
@@ -122,7 +122,7 @@
</div>
<!-- 分类编辑对话框 -->
<div v-if="showCategoryDialog" class="dialog-overlay" @click="closeCategoryDialog">
<div v-if="showCategoryDialog" class="dialog-overlay">
<div class="dialog" @click.stop>
<h3>{{ categoryForm.id ? '编辑书签分组' : '添加书签分组' }}</h3>
<div class="form-group">
@@ -153,7 +153,7 @@
</div>
<!-- 工具编辑对话框 -->
<div v-if="showToolDialog" class="dialog-overlay" @click="closeToolDialog">
<div v-if="showToolDialog" class="dialog-overlay">
<div class="dialog dialog-wide" @click.stop>
<h3>{{ isCopyMode ? '复制网址' : (toolForm.id ? '编辑网址' : '添加网址') }}</h3>
<div class="form-row">
@@ -229,7 +229,7 @@
</div>
<!-- 确认对话框 -->
<div v-if="showConfirmDialog" class="dialog-overlay" @click="cancelConfirm">
<div v-if="showConfirmDialog" class="dialog-overlay">
<div class="confirm-dialog" @click.stop>
<div class="confirm-icon warning"></div>
<div class="confirm-message">{{ confirmMessage }}</div>
@@ -377,10 +377,13 @@ export default {
})
// 监听窗口大小变化
window.addEventListener('resize', this.adjustContainerPadding)
// 监听ESC键关闭弹框
window.addEventListener('keydown', this.handleEscKey)
},
beforeDestroy() {
window.removeEventListener('resize', this.adjustContainerPadding)
window.removeEventListener('keydown', this.handleEscKey)
},
updated() {
@@ -391,6 +394,21 @@ export default {
},
methods: {
// ESC键关闭弹框
handleEscKey(event) {
if (event.key === 'Escape' || event.keyCode === 27) {
if (this.showSuperCategoryDialog) {
this.closeSuperCategoryDialog()
} else if (this.showCategoryDialog) {
this.closeCategoryDialog()
} else if (this.showToolDialog) {
this.closeToolDialog()
} else if (this.showConfirmDialog) {
this.cancelConfirm()
}
}
},
// 动态调整容器padding-top
adjustContainerPadding() {
setTimeout(() => {