Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

87
Visualizações
Mui v5 - TreeView - Contraer todos los descendientes

Cuando colapso un TreeItem, quiero que todos sus TreeItems descendientes (sus hijos, sus hijos, etc.) estén abiertos para contraerse también. En el estado existente, desaparecen, pero la próxima vez que expando el TreeItem principal, también se expanden.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El TreeView está "no controlado" de manera predeterminada, lo que significa que el componente manejará el estado por usted, y usted, como consumidor, obtendrá el comportamiento predeterminado que establezca la MUI. Para lograr lo que desea, deberá convertir TreeView en un componente "controlado". Hay un ejemplo del uso del componente controlado aquí: https://mui.com/components/tree-view/#control-tree-view

El ejemplo en la página de MUI está haciendo más que solo manejar la expansión/colapso de los nodos. En la forma más simple, debe manejar explícitamente el accesorio "expandido" que se pasa al TreeView usted mismo.

 const Tree = () => { // nodes "1", "1.1", "2" will start expanded const [expanded,setExpanded] = useState(["1","1.2","2"]); const createHandler = (id) => () => { // if node was collapsed, add to expanded list if(!expanded.includes(id)) { setExpanded([...expanded,id]); } else { // remove clicked node, and children of clicked node from expanded list setExpanded(expanded.filter(i => i !== id && !i.startsWith(`${id}.`)); } }; return ( <TreeView expanded={expanded}> <TreeItem nodeId="1" label="A" onClick={createHandler("1")}> <TreeItem nodeId="1.1" label="B" /> <TreeItem nodeId="1.2" label="C" onClick={createHandler("1.2")}> <TreeItem nodeId="1.2.1" label="D" /> </TreeItem> </TreeItem> <TreeItem nodeId="2" label="E" onClick={createHandler("2")}> <TreeItem nodeId="2.1" label="F" /> </TreeItem> </TreeView> ); }

Nota: hay algunos errores en el ejemplo anterior, no puedo ejecutarlo en este momento para verificar que sea correcto.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda