Skip to content

Commit 48e4c71

Browse files
feat: allow more than 2 levels nested nav
1 parent 6e1bc05 commit 48e4c71

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

client/packages/lowcoder/src/comps/comps/layout/navLayout.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,21 +133,25 @@ NavTmpLayout = withViewFn(NavTmpLayout, (comp) => {
133133
},
134134
[filterItem]
135135
);
136-
137-
const itemKeyRecord = useMemo(() => {
136+
137+
const generateItemKeyRecord = useCallback((items: LayoutMenuItemComp[]) => {
138+
console.log('generateItemKeyRecord', items)
138139
const result: Record<string, LayoutMenuItemComp> = {};
139140
items.forEach((item) => {
140141
const subItems = item.children.items.getView();
141142
if (subItems.length > 0) {
142-
item.children.items
143-
.getView()
144-
.forEach((subItem) => (result[subItem.getItemKey()] = subItem));
145-
} else {
143+
Object.assign(result, generateItemKeyRecord(subItems))
144+
}
145+
else {
146146
result[item.getItemKey()] = item;
147147
}
148148
});
149149
return result;
150-
}, [items]);
150+
}, [items])
151+
152+
const itemKeyRecord = useMemo(() => {
153+
return generateItemKeyRecord(items)
154+
}, [generateItemKeyRecord, items]);
151155

152156
const defaultOpenKeys = useMemo(() => {
153157
let itemPath: string[];

client/packages/lowcoder/src/comps/comps/navComp/components/DroppableMenuItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export default function DraggableMenuItem(props: IDraggableMenuItemProps) {
117117
item={subItem}
118118
level={0}
119119
disabled={disabled || isDragging || disableDropIn}
120-
// onAddSubMenu={onAddSubMenu}
120+
onAddSubMenu={onAddSubMenu}
121121
onDelete={onDelete}
122122
parentDragging={isDragging}
123123
/>

0 commit comments

Comments
 (0)