TreeSelect
Antd 作为最有最优秀的 React 开源组件库之一,被广泛的使用。最近笔者在工作中使用TreeSelect
组件。它的使用非常简单,可以接收下面这样的数据结构,来生成一个树型选择器。
1 | const treeData = [ |
场景
比如后端吐出给前端的数据如下。
1 | const rawData = ["a.bb", "a.cc", "a.dd.eee", "h.ff.llll"]; |
要求根据.
作为分层级隔符,将数据展示为树形选择器。因此需要将数据转为如下形式。
1 | const treeData = [ |
前缀树(字典树)
关于前缀树的文章可以参考leetcode 208 实现 Trie 树。
这种 case,根据共同的前缀,层层递进形成的数据结构,正是前缀树的应用场景了。那么我们如何将rawData
转换为treeData
呢?笔者给了一个自己实现,如下
1 | interface TreeData { |