fix: 功能优化完善。
This commit is contained in:
@@ -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(() => {
|
||||
|
||||
Reference in New Issue
Block a user