diff --git a/packages/stores/src/modules/tabbar.ts b/packages/stores/src/modules/tabbar.ts index c385ae97..a3738103 100644 --- a/packages/stores/src/modules/tabbar.ts +++ b/packages/stores/src/modules/tabbar.ts @@ -77,6 +77,7 @@ export const useTabbarStore = defineStore('core-tabbar', { /** * @zh_CN 跳转到标签页 * @param tab + * @param router */ async _goToTab(tab: TabDefinition, router: Router) { const { params, path, query } = tab; @@ -243,9 +244,13 @@ export const useTabbarStore = defineStore('core-tabbar', { /** * @zh_CN 通过key关闭标签页 * @param key + * @param router */ async closeTabByKey(key: string, router: Router) { - const index = this.tabs.findIndex((item) => getTabPath(item) === key); + const originKey = decodeURIComponent(key); + const index = this.tabs.findIndex( + (item) => getTabPath(item) === originKey, + ); if (index === -1) { return; } diff --git a/playground/src/locales/langs/en-US.json b/playground/src/locales/langs/en-US.json index 13179fd2..ee931056 100644 --- a/playground/src/locales/langs/en-US.json +++ b/playground/src/locales/langs/en-US.json @@ -47,7 +47,11 @@ "icons": "Icons", "watermark": "Watermark", "tabs": "Tabs", - "tabDetail": "Tab Detail Page" + "tabDetail": "Tab Detail Page", + "fullScreen": { + "title": "FullScreen" + }, + "clipboard": "Clipboard" }, "breadcrumb": { "navigation": "Breadcrumb Navigation", diff --git a/playground/src/locales/langs/zh-CN.json b/playground/src/locales/langs/zh-CN.json index 86fbcabc..5b5a65e5 100644 --- a/playground/src/locales/langs/zh-CN.json +++ b/playground/src/locales/langs/zh-CN.json @@ -47,7 +47,11 @@ "icons": "图标", "watermark": "水印", "tabs": "标签页", - "tabDetail": "标签详情页" + "tabDetail": "标签详情页", + "fullScreen": { + "title": "全屏" + }, + "clipboard": "剪贴板" }, "breadcrumb": { "navigation": "面包屑导航", diff --git a/playground/src/router/routes/modules/demos.ts b/playground/src/router/routes/modules/demos.ts index ad88a548..08a19d63 100644 --- a/playground/src/router/routes/modules/demos.ts +++ b/playground/src/router/routes/modules/demos.ts @@ -165,6 +165,24 @@ const routes: RouteRecordRaw[] = [ }, ], }, + { + name: 'FullScreenDemo', + path: '/demos/features/full-screen', + component: () => + import('#/views/demos/features/full-screen/index.vue'), + meta: { + title: $t('page.demos.features.fullScreen.title'), + }, + }, + { + name: 'ClipboardDemo', + path: '/demos/features/clipboard', + component: () => + import('#/views/demos/features/clipboard/index.vue'), + meta: { + title: $t('page.demos.features.clipboard'), + }, + }, ], }, // 面包屑导航 diff --git a/playground/src/router/routes/modules/examples.ts b/playground/src/router/routes/modules/examples.ts index bd1ec467..fd3fd237 100644 --- a/playground/src/router/routes/modules/examples.ts +++ b/playground/src/router/routes/modules/examples.ts @@ -17,7 +17,7 @@ const routes: RouteRecordRaw[] = [ children: [ { name: 'EllipsisDemo', - path: '/examples/ellipsis', + path: 'ellipsis', component: () => import('#/views/examples/ellipsis/index.vue'), meta: { title: $t('page.examples.ellipsis.title'), diff --git a/playground/src/views/demos/features/clipboard/index.vue b/playground/src/views/demos/features/clipboard/index.vue new file mode 100644 index 00000000..687cbbae --- /dev/null +++ b/playground/src/views/demos/features/clipboard/index.vue @@ -0,0 +1,23 @@ + + + + + + Current copied: {{ text || 'none' }} + + + + Copy + + + diff --git a/playground/src/views/demos/features/full-screen/index.vue b/playground/src/views/demos/features/full-screen/index.vue new file mode 100644 index 00000000..b5f7502d --- /dev/null +++ b/playground/src/views/demos/features/full-screen/index.vue @@ -0,0 +1,47 @@ + + + + + + + + Enter Window Full Screen + + Toggle Window Full Screen + + + Exit Window Full Screen + + + Current State: {{ isFullscreen }} + + + + + Enter Dom Full Screen + + + + + {{ isDomFullscreen ? 'Exit Dom Full Screen' : 'Enter Dom Full Screen' }} + + + +
+ Current copied: {{ text || 'none' }} +
{{ text || 'none' }}