Arco Design 的 Tree 组件如何实现默认展开所有节点?

码农子璐 阅读 5

我在用 Arco Design 的 Tree 组件时,想让树一加载就全部展开,但试了 defaultExpandAll 属性没生效,是我用错了吗?

数据是异步请求回来的,会不会跟这个有关?我现在的代码大概是这样:

const [treeData, setTreeData] = useState([]);

useEffect(() => {
  fetchData().then(res => setTreeData(res));
}, []);

return <Tree data={treeData} defaultExpandAll />;
我来解答 赞 0 收藏
二维码
手机扫码查看
1 条解答
Tr° 义霞
你这个问题可能是由于数据异步加载导致的,defaultExpandAll 在初始渲染时可能还没拿到数据。把 defaultExpandAll 放在 useEffect 里设置一下试试:
useEffect(() => {
fetchData().then(res => {
setTreeData(res);
document.querySelector('.arco-tree').dispatchEvent(new Event('expandAll'));
});
}, []);

不过这样有点糙,官方文档可能有更优雅的 API,查一下吧。
点赞
2026-03-22 19:39