From 66ba41e54dc7774c2207df785fa5d95d0775d280 Mon Sep 17 00:00:00 2001 From: liangguanhui Date: Sun, 10 Aug 2025 22:17:50 +0800 Subject: [PATCH 1/4] feat(tabs): add header-only --- examples/sites/demos/apis/tabs.js | 12 +++++++ .../sites/demos/pc/app/tabs/header-only.vue | 36 +++++++++++++++++++ .../sites/demos/pc/app/tabs/webdoc/tabs.js | 14 ++++---- packages/renderless/src/tabs/vue.ts | 3 +- packages/renderless/types/tabs.type.ts | 1 + packages/vue/src/tab-item/src/pc.vue | 2 +- packages/vue/src/tabs/src/index.ts | 4 ++- packages/vue/src/tabs/src/pc.vue | 11 +++--- 8 files changed, 68 insertions(+), 15 deletions(-) create mode 100644 examples/sites/demos/pc/app/tabs/header-only.vue diff --git a/examples/sites/demos/apis/tabs.js b/examples/sites/demos/apis/tabs.js index 276c7ac249..21c5600155 100644 --- a/examples/sites/demos/apis/tabs.js +++ b/examples/sites/demos/apis/tabs.js @@ -294,6 +294,18 @@ export default { mode: ['pc', 'mobile-first'], pcDemo: 'overflow-title', mfDemo: '' + }, + { + name: 'header-only', + type: 'boolean', + defaultValue: 'false', + desc: { + 'zh-CN': '当 header-only 为 true 时,页签内容不再渲染', + 'en-US': 'When header-only is true, the tab content is no longer rendered' + }, + mode: ['pc'], + pcDemo: 'header-only', + mfDemo: '' } ], events: [ diff --git a/examples/sites/demos/pc/app/tabs/header-only.vue b/examples/sites/demos/pc/app/tabs/header-only.vue new file mode 100644 index 0000000000..ac67f7610c --- /dev/null +++ b/examples/sites/demos/pc/app/tabs/header-only.vue @@ -0,0 +1,36 @@ + + + diff --git a/examples/sites/demos/pc/app/tabs/webdoc/tabs.js b/examples/sites/demos/pc/app/tabs/webdoc/tabs.js index a9bbd23432..107e48e5ce 100644 --- a/examples/sites/demos/pc/app/tabs/webdoc/tabs.js +++ b/examples/sites/demos/pc/app/tabs/webdoc/tabs.js @@ -270,18 +270,16 @@ export default { codeFiles: ['tabs-events-edit.vue'] }, { - demoId: 'overflow-title', + demoId: 'header-only', name: { - 'zh-CN': '超出显示 tooltip', - 'en-US': 'Out of Display tooltip' + 'zh-CN': '仅展示头部', + 'en-US': 'Header only' }, desc: { - 'zh-CN': - '通过 overflow-title 设置标题超出一定长度(默认 256px)时隐藏并显示...,鼠标移到标题上可显示 tooltip,title-width设置标题超出的长度。', - 'en-US': - 'Use overflow-title to set the title to hide and show when it exceeds a certain length (default 256px)... , move the cursor to the title to display the tooltip, and set title-width to the excess length of the title.' + 'zh-CN': '通过 header-only 仅展示头部。', + 'en-US': 'Use >header-only header only.' }, - codeFiles: ['overflow-title.vue'] + codeFiles: ['header-only.vue'] } ], features: [ diff --git a/packages/renderless/src/tabs/vue.ts b/packages/renderless/src/tabs/vue.ts index 8b8e3c066b..dace6254a3 100644 --- a/packages/renderless/src/tabs/vue.ts +++ b/packages/renderless/src/tabs/vue.ts @@ -62,7 +62,8 @@ const initState = ({ reactive, props }: Pick