feat(tabs): 多页签增加关闭所有

This commit is contained in:
燕博文 2022-06-16 10:00:23 +08:00
parent 65c21812bb
commit 8237adb9c0
3 changed files with 17 additions and 1 deletions

View File

@ -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();
}
]
]);

View File

@ -155,6 +155,10 @@ export const useTabStore = defineStore('tab-store', {
this.clearTab(excludes);
}
},
/** 清除所有多页签 */
clearAllTab() {
this.clearTab();
},
/**
* tab
* @param fullPath - fullPath

View File

@ -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 }) });
}
/**