feat(tabs): 多页签增加关闭所有
This commit is contained in:
parent
65c21812bb
commit
8237adb9c0
@ -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 }) });
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user