首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为antd Tree select动态创建Json

为antd Tree select动态创建Json
EN

Stack Overflow用户
提问于 2020-01-17 12:57:02
回答 1查看 1.4K关注 0票数 0

我有以下形式的Json

代码语言:javascript
复制
[{
"shortName": "e2e",
"displayName": "E2E",
"description": "This is demo managed product",
"vertical": "Finance"   
},
{
    "shortName": "sfdsgs",
    "displayName": "fsaewgs",
    "description": "anything",
    "vertical": "Community"
},
{
    "shortName": "fga",
    "displayName": "xcdf",
    "description": "agfsf",
    "vertical": "Finance"
}]

我想使用这个json在一个antd树中显示选项项,select on Vertical。I want the filter to look like this,我使用的Antd树选择是

代码语言:javascript
复制
 <TreeSelect
  placeholder="Filter here"
  dropdownStyle={{ maxHeight: 400, overflow: "auto" }}
  style={{ width: "100%" }}
  treeData={data}
  treeCheckable={true}
  onChange={onChange}
  treeIcon={true}
/>

我正在使用react钩子,有人能帮我把上面的json转换成Tree select要求的格式吗?这样输出就可以如图所示。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-17 16:37:14

我在CodeSandBox上做了演示,首先我基于“垂直”值创建了不同的数据,然后使用map函数为selectTree数据创建子数据。我希望这能对你有所帮助:)

代码语言:javascript
复制
const ConvertToTreeNode = () => {
 const distinctData = [...new Set(OriginalJson.map(x => x.vertical))];
 return [{
  title: "Vertical",
  value: "0-0",
  key: "0-0",
  children: distinctData.map((x, index) => ({
   value: `0-0-${index}`,
   key: `0-0-${index}`,
   title: x
  }))
 };
}];

Demo

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59781429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档