commit
c6ed9b1558
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<svg aria-hidden="true" width="1em" height="1em" class="inline-block">
|
||||
<svg aria-hidden="true" width="1em" height="1em">
|
||||
<use :xlink:href="symbolId" fill="currentColor" />
|
||||
</svg>
|
||||
</template>
|
||||
|
@ -86,6 +86,11 @@ const options = computed<Option[]>(() => [
|
||||
label: '关闭右侧',
|
||||
key: 'close-right',
|
||||
icon: iconifyRender('mdi:format-horizontal-align-right')
|
||||
},
|
||||
{
|
||||
label: '关闭所有',
|
||||
key: 'close-all',
|
||||
icon: iconifyRender('ant-design:line-outlined')
|
||||
}
|
||||
]);
|
||||
|
||||
@ -119,6 +124,12 @@ const actionMap = new Map<DropdownKey, () => void>([
|
||||
() => {
|
||||
tab.clearRightTab(props.currentPath);
|
||||
}
|
||||
],
|
||||
[
|
||||
'close-all',
|
||||
() => {
|
||||
tab.clearAllTab();
|
||||
}
|
||||
]
|
||||
]);
|
||||
|
||||
|
@ -155,6 +155,10 @@ export const useTabStore = defineStore('tab-store', {
|
||||
this.clearTab(excludes);
|
||||
}
|
||||
},
|
||||
/** 清除所有多页签 */
|
||||
clearAllTab() {
|
||||
this.clearTab();
|
||||
},
|
||||
/**
|
||||
* 点击单个tab
|
||||
* @param fullPath - 路由fullPath
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { h } from 'vue';
|
||||
import { NIcon } from 'naive-ui';
|
||||
import { Icon } from '@iconify/vue';
|
||||
import SvgIcon from '@/components/custom/SvgIcon.vue';
|
||||
|
||||
@ -16,7 +17,7 @@ export function iconifyRender(icon: string, color?: string, size?: number) {
|
||||
if (size) {
|
||||
style.size = `${size}px`;
|
||||
}
|
||||
return () => h(Icon, { icon, style });
|
||||
return () => h(NIcon, null, { default: () => h(Icon, { icon, style }) });
|
||||
}
|
||||
|
||||
/**
|
||||
@ -34,5 +35,5 @@ export function customIconRender(icon: string, color?: string, size?: number) {
|
||||
style.size = `${size}px`;
|
||||
}
|
||||
|
||||
return () => h(SvgIcon, { icon, style });
|
||||
return () => h(NIcon, null, { default: () => h(SvgIcon, { icon, style }) });
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user