|
|
@ -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 => { |
|
|
|