|
|
@ -9,16 +9,16 @@
|
|
|
|
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
|
|
|
|
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
|
|
|
|
tag="span"
|
|
|
|
tag="span"
|
|
|
|
class="tags-view-item"
|
|
|
|
class="tags-view-item"
|
|
|
|
@click.middle.native="closeSelectedTag(tag)"
|
|
|
|
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
|
|
|
|
@contextmenu.prevent.native="openMenu(tag,$event)"
|
|
|
|
@contextmenu.prevent.native="openMenu(tag,$event)"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
{{ tag.title }}
|
|
|
|
{{ tag.title }}
|
|
|
|
<span v-if="!tag.meta.affix" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
|
|
|
|
<span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
|
|
|
|
</router-link>
|
|
|
|
</router-link>
|
|
|
|
</scroll-pane>
|
|
|
|
</scroll-pane>
|
|
|
|
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
|
|
|
|
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
|
|
|
|
<li @click="refreshSelectedTag(selectedTag)">刷新页面</li>
|
|
|
|
<li @click="refreshSelectedTag(selectedTag)">刷新页面</li>
|
|
|
|
<li v-if="!(selectedTag.meta&&selectedTag.meta.affix)" @click="closeSelectedTag(selectedTag)">关闭当前</li>
|
|
|
|
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭当前</li>
|
|
|
|
<li @click="closeOthersTags">关闭其他</li>
|
|
|
|
<li @click="closeOthersTags">关闭其他</li>
|
|
|
|
<li @click="closeAllTags(selectedTag)">关闭所有</li>
|
|
|
|
<li @click="closeAllTags(selectedTag)">关闭所有</li>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
|
@ -69,6 +69,9 @@ export default {
|
|
|
|
isActive(route) {
|
|
|
|
isActive(route) {
|
|
|
|
return route.path === this.$route.path
|
|
|
|
return route.path === this.$route.path
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
isAffix(tag) {
|
|
|
|
|
|
|
|
return tag.meta && tag.meta.affix
|
|
|
|
|
|
|
|
},
|
|
|
|
filterAffixTags(routes, basePath = '/') {
|
|
|
|
filterAffixTags(routes, basePath = '/') {
|
|
|
|
let tags = []
|
|
|
|
let tags = []
|
|
|
|
routes.forEach(route => {
|
|
|
|
routes.forEach(route => {
|
|
|
|