1
这是对象的接口,和目标数据是该对象的阵列,使得它创建具有递归函数嵌套元素
looks like;
export interface IMenuModel {
Id: number
itemName: string;
parentId?: number;
childItems: IMenuModel[];
}
样本内容例的图。
[ {itemName:"League",.. childItems: [{itemName:"Fixture",.. childitems:[...]]}] } ]
这是我想要创建的示例列表;
<li className="dropdown">
<a href="#" className="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">League<span className="caret" /></a>
<ul className="dropdown-menu" role="menu">
<li><a href="#">Fixture</a>
<ul className="dropdown-menu" role="menu">
<li>
<a href="#">item name</a>
</li>
<li>
<a href="#">item name</a>
</li>
</ul>
</li>
</ul>
</li>
这是我试图做的,但只有一个深;
listLoop(items:IMenuModel[]):JSX.Element[] {
var menuJsx:JSX.Element[] = items.map((item)=>{
return (<li key={item.Id} className="dropdown">
<a href="#" className="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> {item.itemName}<span className="caret" /></a>
</li>);
})
return menuJsx;
}
我该如何创建一个递归函数来实现这个?
小提琴不再工作 – Ezeewei
@Ezeewei谢谢,更新小提琴链接:) –