【发布时间】:2018-04-21 11:19:51
【问题描述】:
我正在使用 React 从 JSON 制作树视图。到目前为止,我已经使用这个示例数据制作了一个可折叠的树:
var data = {
title: "Node 1",
childNodes: [
{title: "Childnode 1.1"},
{title: "Childnode 1.2",
childNodes: [
{title: "Childnode 1.2.1",
childNodes: [
{title: "Childnode 1.2.1.1"}
]}, {title: "Childnode 1.2.2"}
]}
]
};
但这是一个对象。我想获取 JSON 对象数组作为输入并从中生成树视图,但我无法理解在哪里更改代码。
这是我的渲染函数:
render() {
var childNodes;
if (this.props.node.childNodes != null) {
childNodes = this.props.node.childNodes.map(function (node, index) {
return <li key={index}><Treeview node={node}/></li>
});
}
return (
<form>
<div>
<input type="checkbox"/>
<label for>{this.props.node.title}</label>
</div>
<ul>
{childNodes}
</ul>
</form>
);
}
如何更改代码以使用整个数组而不仅仅是一个对象?
【问题讨论】:
-
所以你想让 Treeview 组件接受一个对象数组?或者您想将数组转换为 Treeview 的对象?
-
我想让Treeview组件接受一个对象数组,例如:[{"id":28,"Title":"Sweden"}, {"id":56,"Title" :"USA"}, {"id":89,"Title":"England"}]
-
好的,让我看看 Treeview 组件的代码
-
我发布的代码是 Treeview 组件。我在 Treeview 中渲染这个代码块,即递归
标签: javascript json reactjs recursion treeview