react动态导航

因为我是初学,所以关于react的文章会比较浅显,见谅

因为我是用的antd配合学习的,然后再导航这块发现他们是写在一起的,然后我是从vue那边过来的,所以就感觉很别扭。同时也查阅了官方文档怎么配合列表组合。

render() {
	const subItems = [{
	    key: 'sub1',
	    name: 'Navigation O',
	    type: 'mail',
	    items: [{
	        key: '1',
	        name: 'Option 1'
	    }, {
	        key: '2',
	        name: 'Option 1'
	    }, {
	        key: '3',
	        name: 'Option 1'
	    }, {
	        key: '4',
	        name: 'Option 1'
	    }]
	}, {
	    key: 'sub2',
	    name: 'Navigation Two',
	    type: 'mail',
	    items: [{
	        key: '5',
	        name: 'Option 1'
	    }, {
	        key: '6',
	        name: 'Option 1'
	    }, {
	        key: '7',
	        name: 'Option 1'
	    }, {
	        key: '8',
	        name: 'Option 1'
	    }]
	}, {
	    key: '9',
	    name: 'Option 1'
	}, {
	    key: 'sub3',
	    name: 'Navigation Three',
	    type: 'mail',
	    items: [{
	        key: '10',
	        name: 'Option 1'
	    }, {
	        key: '11',
	        name: 'Option 1'
	    }, {
	        key: '12',
	        name: 'Option 1'
	    }, {
	        key: '13',
	        name: 'Option 1'
	    }]
	}, ]
	const menuListItems = subItems.map((item) => {
        if (item.items) {
            return <SubMenu
	            key = {item.key}
	            title = { 
	            	<span>
	                    <Icon type = {item.type} />
	                    <span>{item.name}</span >
	                </span>
	             }
            >
    			{item.items.map(_item => {
    				return <Menu.Item key={_item.key}>{_item.name}</Menu.Item >
            	})} 
            </SubMenu>
        } else {
    		return <Menu.Item key={item.key}>{item.name}</Menu.Item >
		}
	})
	return (
			<Menu mode = "inline"
		        defaultSelectedKeys = {this.state.selectedKeys}
		        openKeys = {this.state.openKeys}
		        onOpenChange = {this.onOpenChange}
		        onSelect = {this.menuSelect}
		        style = {{width: 200}} 
		    > 
		        {menuListItems} 
	        </Menu>
    )
}

效果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值