问答

react-router 如何实现点击二级导航时,一级导航依旧保持高亮?

作者:admin 2021-07-28 我要评论

其他资料都太老了,在react-router 4.x之后版本,我想实现如下效果: div className="single-link" NavLink activeClassName="active"className="link"to="/Peri...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
    其他资料都太老了,在react-router 4.x之后版本,我想实现如下效果:
    
  <div className="single-link"> <NavLink activeClassName="active"className="link"to="/PeriodicalAdmin/PeriodicalAdmin">这是父级页面链接</NavLink></div>
  <Route path="/PeriodicalAdmin/PeriodicalAdmin" component={PeriodicalAdmin}/> 
  <Route path="/PeriodicalAdmin/AddPeriodical/AddPeriodical" component={AddPeriodical}/>`

A4428B7F-2434-42DA-9FD2-2E6AA2EA7D3F.png
就是点击右下角新增期刊后,左侧的期刊能依旧保持选中状态
其中/PeriodicalAdmin/PeriodicalAdmin是父级页面,/PeriodicalAdmin/AddPeriodical/AddPeriodical
是他的子页面,我希望在进入子页面的时候,父级页面链接依旧保持activeClassName的高亮,思路如何解决,谢谢大家

###
比如你的左侧菜单数据是这样的

[
    {
        path:'/PeriodicalAdmin/AddPeriodical',
        name:'菜单1',
        children:[
            {
                path:'/PeriodicalAdmin/AddPeriodical/AddPeriodical',
                name:'菜单1-1'
            }
        ]
    },
    {
        path:'/PeriodicalAdmin/AddPeriodical2',
        name:'菜单2',
        children:[
            {
                path:'/PeriodicalAdmin/AddPeriodical2/AddPeriodical2',
                name:'菜单2-2'
            }
        ]
    },
    xxx
]

然后你获取到当前路由path/PeriodicalAdmin/AddPeriodical/AddPeriodical

首先分隔 path =>
['/PeriodicalAdmin/AddPeriodical','/PeriodicalAdmin/AddPeriodical/AddPeriodical']。用这个分隔后的数据去菜单数据里比较,如果菜单数据里某一项的path属性值在这个数组里,就需要把这一项为选中状态。 这时示例中的菜单1菜单1-1符合条件。就把它俩选中。

需要你命名路由时定好规范。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • react-router 如何实现点击二级导航时

    react-router 如何实现点击二级导航时

  • 关于类似于快宝之类的地址识别api

    关于类似于快宝之类的地址识别api

  • Swoole\Coroutine\System::fread 有bug

    Swoole\Coroutine\System::fread 有bug

  • 移动端预览Word,为什么划不动?

    移动端预览Word,为什么划不动?

腾讯云代理商
海外云服务器