为了账号安全,请及时绑定邮箱和手机立即绑定

antd 根据 json 数据动态生成 menu

antd 根据 json 数据动态生成 menu

哆啦的时光机 2018-11-06 16:13:12
如题:根据json数据动态生成 menu,json数据的深度不固定,所以menu不能直接固定死嵌套几层map循环,其中children为submenu,谢谢。json 数据范例如下:根据json范例数据生成的menu如下
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

用递归可以实现,具体代码如下:

class Sider extends Component {

  constructor() {

    super()

  }


  recursion(dataSource) {

    return (

      dataSource.map((menu, index) => {

        if (menu.children) {

          return (

            <SubMenu key={menu.key} title={menu.title}>

              {this.recursion(menu.children)}

            </SubMenu>

          )

        } else {

          return (<Menu.Item key={menu.key}>{menu.title}</Menu.Item>)

        }

      })

    )

  }


  render() {

    return (

      <Menu

        mode="inline"

        style={{ width: 240 }}

      >

      {

        this.recursion(data)

      }

      </Menu>

    );

  }

}


查看完整回答
1 反对 回复 2018-12-03
  • 1 回答
  • 0 关注
  • 2298 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信