我正在尝试从文件路径创建树视图,可以动态添加和删除,例如:
A/B/C/D/file1.txt
A/B/D/E/file2.txt
A/B/D/G/file3.txt
A/B/D/G/file4.txt
Run Code Online (Sandbox Code Playgroud)
但是,我的树要求没有子项(文件)的路径应折叠在一个节点中。对于上面的路径,它将产生:
A/B
|---C/D
file1.txt
|---D
|---E
| file2.txt
|---G
file3.txt
file4.txt
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?创建树很容易,但我无法克服那个额外的条件......我想我必须使用某种递归,因为我要添加项目并打破路径,因为我们发现某个路径有更多的孩子(然后递归地做同样的事情?)。我应该使用某种特里吗?当同一个路径可以有多个文件时,它会起作用吗?...谢谢!