在jsx语法里面遍历双层数组,每层里面的东西都要渲染出来

clipboard.png
我的数据格式是这样的需要遍历让每一层里的东西都渲染出来,

clipboard.png
这个要怎么整

阅读 5.9k
3 个回答
// 第一步:将一棵展开
function flatTree(tree, parentId) {
  return tree.reduce((list, { id, flag, name, value, child }) => {
    list.push({ id, flag, name, parentId, value });
    if (child) {
      return list.concat(flatTree(child, id));
    }
    return list;
  }, []);
}
// 第二步:渲染
flatTree(filtrateFields).map(({ id, flag, name, value }) => (
  <label key={id}>
    <input type="checkbox" checked={flag || false} onChange={({ target: { checked } }) => myOnChange(id, value, checked)} />
    {name}
  </label>
));

map两次呗,

fil.map(f=>
    <div>
        {f.child.map(c=><div></div>)}
    </div>)
filtrateFields.map((item,i) =>{
     return(
     <div key={i}>
     {item.name}
     </div>
     )
     item.map((list,k) =>{
       return(
       <div key={k}>
       {list.name}
       </div>
       )
     })
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题