在nextjs13中onOpenChange可以改变openkeys,但是改变后,菜单不能收起
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- nextjs, react, typescript
- Ambito
- frontend
Direzione di ricerca
Parti dal Menu controllato mostrato nell’issue, usando openKeys e onOpenChange, e riproducilo in una configurazione Next.js 13. Esamina come Menu applica le chiavi aggiornate; il lavoro è completato quando lo stesso aggiornamento dello stato consente al sottomenu inline di aprirsi e richiudersi in modo affidabile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
代码如下
const renderTable = (nodes: TableItem[]) => {
return nodes.map((item) => {
if (!item.children) {
return (
<MenuItem
className={'flex h-10 items-center rounded-md text-sm hover:bg-gray-100'}
key={item.key}
>
{item.label}
</MenuItem>
);
}
return (
<SubMenu
className={'cursor-pointer text-sm'}
key={item.key}
title={
<div className={'flex h-10 items-center justify-between rounded-md text-sm'}>
{item.label}
</div>
}
>
{renderTable(item.children)}
</SubMenu>
);
});
};
const [openKeys, handleOpenKeys] = useState<string[]>([]);
const onOpenChange = (openKeys: string[]) => {
handleOpenKeys(openKeys);
};
<Menu
className={'doc-table w-full px-2'}
mode={'inline'}
openKeys={openKeys}
onOpenChange={onOpenChange}
>
{renderTable(items)}
</Menu>
可以打开子菜单,但是关闭不了,点击的时候,打印可以看到openKeys已经发生了改变,但是子菜单还是收不回去
- Lingua principale
- TypeScript
- Stelle
- 701
- Fork
- 266
- Merge medio
- 1g 9h
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react-component/menu
-
封装 Menu 子组件时导致的 key 不能正常传递的坑Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
react-component/menu#833 · 1 commento ·
-
HoAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 1/100
react-component/menu#790 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
react-component/menu#743 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
react-component/menu#742 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
react-component/menu#732 · 1 reazione ·
Tutte le issue di react-component/menu
Issue simili
-
Link Checker ReportApertaautomated issue report
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
databendlabs/databend-docs#3511 ·
-
area/dashboard kind/bug QA/dev-automation
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
rancher/dashboard#19379 · 2 commenti ·
I maintainer di solito rispondono entro 5 giorni
-
perf(core): getComments() runs the approved count and the comment list as two sequential queriesApertaarea/core bot:bug bot:working
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
emdash-cms/emdash#3905 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
lingdojo/kana-dojo#31728 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
selective-claw: freshTailTurns=0 keeps ALL turns verbatim and summarizes none (slice(-0) === slice(0))Forse già presa @zjncs l’ha presa oggi. Apertacomponent:tokenless
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
agentic-os-org/ANOLISA#6112 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno