美文网首页
创建侧导航栏

创建侧导航栏

作者: 家有饿犬和聋猫 | 来源:发表于2019-05-24 15:27 被阅读0次

下面是效果图


image.png

第一步:二级路由将组件和导航连接在一起

import React from 'react';
import {Switch, Route, Redirect} from 'react-router-dom';
import style from './style.scss';
import Nav from './nav';
import Content from './contant';
import Center from './center';
import Track from './track';
import Qiye from './qiye';

export default function index(props) {
    const {match} = props;
    return (
        <div  className={style.switchdiv}>
      
            <Switch>
                <Route  path={`${match.url}/center`}   render={
                    prop =>[
                        <Nav  key="1" {...prop} />,
                        <Content  key="2"><Center  {...prop} /> </Content>
                    ]
                }  />
                <Route  path={`${match.url}/track`}   render={
                    prop => [
                        <Nav  key="1"  {...prop}   />,
                        <Content  key="2"><Track  {...prop}  /> </Content>
                    ]
                }  />
                <Route  path={`${match.url}/qiye`}   render={
                    prop => [
                        <Nav  key="1"  {...prop}   />,
                        <Content  key="2"><Qiye  {...prop}  /> </Content>
                    ]
                }  />
                <Redirect  from={`${match.url}`}   to={`${match.url}/center`}  />
            </Switch>
        </div>
    );
}


第二步:左侧边可点击的导航

import React from 'react';
import  style from   './style.scss';
import {Link} from 'react-router-dom';
import {Icon} from 'antd';

const nav = [
    {   path: '/center',
        name: '消息中心',
        icon: <Icon type="message" theme="twoTone" twoToneColor="#E42426"/>
    },
    {   path: '/track',
        name: '服务跟踪',
        icon: <Icon type="fund" theme="twoTone" twoToneColor="#E42426"/>
    },
    {
        name: '企业认证',
        path: '/qiye',
        icon: <Icon type="book" theme="twoTone" twoToneColor="#E42426"/>
    }
];

export default function index(prop) {
    const {match}  = prop;
    return (
        <div   className={style.leftNav}>
          
            {
                nav.map(
                    p=><li  key={p.name}  className={ style.navItem + '  ' + (`${match.url}`.match(p.path) && style.active)  }   >
                        <Link   to={`/message${p.path}`} >
                            {p.icon}
                            {p.name}
                        </Link>
                    </li>
                )
            }
        </div>
    );
}

第三步:右边content框

import React from 'react';
import style from  './style.scss';
export default function index(props) {
    return (
        <div  className={style.contain}>
            {
                props.children
            }
        </div>
    );
}

image.png

第四步:创建子组件

import React from 'react';

export default function index() {
    return (
        <div>
            信用追踪
        </div>
    );
}

image.png

相关文章

  • 创建侧导航栏

    下面是效果图 第一步:二级路由将组件和导航连接在一起 第二步:左侧边可点击的导航 第三步:右边content框 第...

  • 用自带的json解析

    // AppDelegate.m //创建导航栏 // 创建导航 UINavigationController *...

  • iOS 解决自定义导航栏不能侧滑返回

    iOS中,导航栏默认是可以侧滑,但是自定义导航之后,侧滑返回失效。 解决办法:在自定义导航栏中增加侧滑手势判断,代...

  • 补充笔记01-导航栏的设置与处理

    导航栏的设置与处理 *首先创建一个视图,并创建好导航栏管理控件 *然后进行添加导航栏上的东西 *触发点击事件,创建...

  • Swift之导航控制器(UINavigationControll

    一:导航栏的创建及常用方法 //设置导航栏的统一的背景色 // 设置导航栏的背景色 //设置导航栏的...

  • 阻止页面元素被选中

    【问题】侧导航栏点击过快,会导致父导航栏及子导航栏均被选中。 【解决】 css在父元素中添加user-select...

  • iOS导航栏使用总结

    目录: 一、设置导航栏样式二、自定义导航栏返回按钮后侧滑不可用问题三、隐藏导航栏底部的分割线四、导航栏引起的布局问...

  • SwiftUI导航栏隐藏以及侧滑返回问题

    1.导航栏隐藏 当我们设置这个的时候,导航栏将会被隐藏,但同时侧滑返回也会失效,这时候我们可以添加导航扩展 2.侧...

  • 子组件

    制作导航栏组件,使用了bootstrap样式使用响应式布局,在页面宽度缩小时导航栏会变成折叠式导航栏,点击有侧按钮...

  • 收集iOS--UINavigationController的常用

    1. 有导航栏 2. 没有导航栏 3. 实例:创建一个导航项 4. 创建一个左边的按钮 5. 设置导航栏内容 ——...

网友评论

      本文标题:创建侧导航栏

      本文链接:https://www.haomeiwen.com/subject/icrvzqtx.html