TabPage.vue 支持页标签在下
This commit is contained in:
@@ -199,6 +199,30 @@ const isSinglePanel = computed(() => {
|
||||
return false;
|
||||
});
|
||||
|
||||
// 计算属性:是否是只有一个TabPage且有多个Panel的情况
|
||||
const isSingleTabPageWithMultiplePanels = computed(() => {
|
||||
// 检查children配置
|
||||
if (props.children) {
|
||||
const childrenArray = Array.isArray(props.children) ? props.children : [props.children];
|
||||
|
||||
// 只有一个child且是TabPage
|
||||
if (childrenArray.length === 1 && childrenArray[0].type === 'TabPage') {
|
||||
const tabPage = childrenArray[0];
|
||||
const tabPageChildren = tabPage.children;
|
||||
|
||||
if (tabPageChildren) {
|
||||
const tabPageChildrenArray = Array.isArray(tabPageChildren) ? tabPageChildren : [tabPageChildren];
|
||||
|
||||
// TabPage包含多个Panel
|
||||
return tabPageChildrenArray.length > 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 默认不是
|
||||
return false;
|
||||
});
|
||||
|
||||
// 计算属性:是否显示标题栏
|
||||
const shouldShowTitleBar = computed(() => {
|
||||
// 基础条件:props.showTitleBar为true
|
||||
@@ -207,6 +231,9 @@ const shouldShowTitleBar = computed(() => {
|
||||
// 单面板场景不显示标题栏
|
||||
if (isSinglePanel.value) return false;
|
||||
|
||||
// 只有一个TabPage且有多个Panel的情况不显示标题栏
|
||||
if (isSingleTabPageWithMultiplePanels.value) return false;
|
||||
|
||||
// 检查children配置
|
||||
if (props.children) {
|
||||
const childrenArray = Array.isArray(props.children) ? props.children : [props.children];
|
||||
|
||||
Reference in New Issue
Block a user