diff --git a/CHANGELOG.md b/CHANGELOG.md index 0289b3078f0042600cac9249d6438d58608d5e29..c77e13c6520515372adddf3e3074dcc0f01e516b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - 修复菜单项svg图标样式异常 - 修复表格单击事件在双击时重复触发 - 修复路由快速切换时,导航标签页显示异常 +- 修复工具栏首项+分组展开模式下,当行为组仅有两项时下拉未绘制 ## [0.7.40-alpha.14] - 2025-04-24 diff --git a/src/control/toolbar/toolbar.tsx b/src/control/toolbar/toolbar.tsx index 3a82689acd6b47becac9728618c96ebc00e0ede2..34f11385b2c78221d110c02b95f6802c63341621 100644 --- a/src/control/toolbar/toolbar.tsx +++ b/src/control/toolbar/toolbar.tsx @@ -396,9 +396,9 @@ export const ToolbarControl = defineComponent({ details: IAppDEUIActionGroupDetail[], index: number, ): number => { - const firstItem: IParams = details.slice(index, 1); - if (firstItem[0]) { - if (c.state.buttonsState[firstItem[0].id!].visible) { + const firstItem: IParams = details[index]; + if (firstItem) { + if (c.state.buttonsState[firstItem.id!]?.visible) { return index; } return getFirstIndex(details, index + 1); @@ -413,9 +413,18 @@ export const ToolbarControl = defineComponent({ const { uiactionGroupDetails } = uiactionGroup; const firstIndex = getFirstIndex(uiactionGroupDetails, 0); if (firstIndex !== -1) { - const firstItem = uiactionGroupDetails.slice(firstIndex, 1); - const remainders = uiactionGroupDetails.slice(firstIndex + 1); - const enableDropdown = remainders.length > 1; + const firstItem = uiactionGroupDetails[firstIndex]; + // 获取剩余项截取位置下标,过滤掉不显示行为项后的下标 + const remainderIndex = getFirstIndex( + uiactionGroupDetails, + firstIndex + 1, + ); + // 如果剩余项下标存在,则截取行为组内剩余行为项 + const remainders = + remainderIndex !== -1 + ? uiactionGroupDetails.slice(remainderIndex) + : []; + const enableDropdown = remainders.length > 0; const groupButtonStyle = (item as IDETBGroupItem).buttonStyle || ''; return ( renderActionButton( - firstItem[0], + firstItem, convertBtnType(groupButtonStyle), ), dropdown: () =>