Estoy tratando de hacer que Treeview no colapse cada vez que selecciono un nodo. Cuando se selecciona un nodo, aparecerá un botón según el nodo que haya seleccionado. Aquí hay un ejemplo que hice. https://codesandbox.io/s/summer-water-33fe7?file=/src/App.js
TreeItem tiene un accesorio disabled que no permitirá al usuario contraer el TreeItem al hacer clic. Puede establecer dinámicamente el valor del accesorio disabled cuando no desea que se colapse.
Por ejemplo :
const [disabled, setDisabled] = useState(true); <TreeItem nodeId="5" label="Five" disabled={disabled}> // setDisabled(false); // Set to false when we want it to be collapsable.Encontré una manera, pero no estoy seguro de si esta es la mejor manera, así que básicamente agregué todas las identificaciones que quiero que se expandan todo el tiempo, es decir, todas las identificaciones en los datos.
const DataTreeView = ({ treeItems }) => { return ( <TreeView defaultCollapseIcon={<ExpandMoreIcon />} defaultExpandIcon={<ChevronRightIcon />} defaultExpanded={[ "root", "root2", "Parent 1", "Parent 2", "Parent 3", "Parent 4", "1", "2", "3", "4" ]} onNodeSelect={action} > {getTreeItemsFromData(treeItems)} </TreeView> ); };