请问是否有antd/tree方法可以一键展开所有节点呢?
在学习组件tree的时候:
请问是否有方法可以一键展开所有节点呢?
编辑1:
因为我设置了defaultExpandAll没有效果,所以想要知道是否有方法可以对<Tree>进行展开所有?
return <Tree treeData={treeData} defaultExpandAll={true} />;
回复
1个回答
test
2024-06-25
调整一下写法就行了, defaultExpandAll
只会在初始化的时候生效,正确理解这句话很重要
初始化数据即存在的场景,直接渲染即可
const [treeData, setTreeData] = useState([ { key: '1', title: 'parent 1', chidren: [...] }, { key: '2', title: 'parent 1', chidren: [...] } ]); return <Tree treeData={treeData} defaultExpandAll={true} />;
初始化没有数据,通过异步请求获取数据的情况,增加一个判断,有数据才渲染组件
const [treeData, setTreeData] = useState([]); useEffect(() => { fetchTreeData().then((treeData) => setTreeData(treeData)) }, []) return ( treeData.length ? <Tree treeData={treeData} defaultExpandAll={true} /> : null );
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容