在nextjs13中onOpenChange可以改变openkeys,但是改变后,菜单不能收起
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- nextjs, react, typescript
- Área
- frontend
Línea de trabajo
Comienza con el Menu controlado que se muestra en el issue, usando openKeys y onOpenChange, y reprodúcelo en una configuración de Next.js 13. Inspecciona cómo Menu aplica las claves actualizadas; el trabajo está terminado cuando la misma actualización de estado permite que el submenú inline se abra y se contraiga de forma fiable.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
代码如下
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已经发生了改变,但是子菜单还是收不回去
- Lenguaje dominante
- TypeScript
- Estrellas
- 701
- Forks
- 266
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de react-component/menu
-
封装 Menu 子组件时导致的 key 不能正常传递的坑Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
react-component/menu#833 · 1 comentario ·
-
HoAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 1/100
react-component/menu#790 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
react-component/menu#743 ·
-
二次封装时,无法获取到rc-menu中的context下发的值Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
react-component/menu#742 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
react-component/menu#732 · 1 reacción ·
Todos los issues de react-component/menu
Issues similares
-
fix(data-lake): wizard source step still previews the local slug, not the server-disambiguated oneAbiertodata-lake
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
enhancement good first issue priority: low size: XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Empty label or headline exports the editor hint ("LABEL" / "Headline goes here") into the PNGAbierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
Spray wall wizard: Done button on the hold review step sits under the navigation header (iOS)Abiertobug ios mobile priority:P1
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
streamplace/streamplace#1351 ·
Los mantenedores suelen responder en 2 días