【新增】多标签鼠标中键关闭,并优雅地修复右键关闭按钮出现"使用了错误的类型或对象"的问题

pull/158/head
lingsoul 2023-08-30 14:55:38 +08:00
parent d28af316a8
commit eab0288f0b
2 changed files with 19 additions and 12 deletions

View File

@ -68,17 +68,11 @@
},
//
contextMenuHandler(e) {
//ie
let obj = e.srcElement ? e.srcElement : e.target
let cs = obj.attributes['class']
cs = cs ? cs.nodeValue : cs
if(cs&&cs!=='ant-tabs-tab-remove'){
this.x = e.clientX
this.y = e.clientY
this.layout()
this.$emit('update:show', true)
this.$emit('get-context-menu', e)
}
this.x = e.clientX
this.y = e.clientY
this.layout()
this.$emit('update:show', true)
this.$emit('get-context-menu', e)
e.preventDefault()
},
//

View File

@ -39,6 +39,7 @@
ref="tabs"
@edit="onTabRemove"
@tabClick="onTabClick"
@mouseup="onTabUp"
>
<template #leftExtra>
<div class="snowy-admin-tabs-arrow" @click="scrollLeft">
@ -116,7 +117,11 @@
handleTabContextMenu(evt) {
evt.preventDefault()
let target = evt.target
if (target.classList.contains('ant-tabs-tab-btn')) {
// "使"
while (!target.classList.contains('ant-tabs-tab')) {
if (target.classList.contains('ant-tabs')) {
return
}
target = target.parentNode
}
const tabList = document.querySelectorAll('.ant-tabs-nav-list .ant-tabs-tab')
@ -134,6 +139,14 @@
this.closeSelectedTag(tag)
}
},
//
onTabUp(e) {
//
if (e.which === 2) {
this.handleTabContextMenu(e)
this.closeTabs()
}
},
getTabWrapEl() {
return document.querySelector('.ant-tabs-nav-wrap')
},