zoukankan      html  css  js  c++  java
  • React 16.3, Antd 4.2, 侧边栏的 Icon 由后端返回,Icon显示问题

    import React, { Component } from 'react';
    import { withRouter, RouteComponentProps } from 'react-router-dom';
    import { Layout, Menu } from 'antd';
    // 模拟后端返回路由 import Route, { IFMenu } from '../../router/config'; import { Link } from 'react-router-dom'; import * as Icon from '@ant-design/icons'; const { SubMenu } = Menu; const { Sider } = Layout; type SiderCustomProps = RouteComponentProps<any> & { collapsed?: boolean } type SiderCustomState = { Logo: string, Icons: any } class SiderCustom extends Component<SiderCustomProps, SiderCustomState> { constructor(props: any) { super(props) this.state = { Icons: Icon } } /* 需要注意的点 ·1.Icons,因需要后端配置图标,但and-design4.0以上版本将icon做成了引用加载,可将Icon传入state进行赋值 */ renderMenuItem = (item: IFMenu) => { let icons: any = this.state.Icons[item.icon]; return ( <Menu.Item key={item.path}> <Link to={item.path + (item.query || '')}> {React.createElement(icons, { className: 'icon', })} <span className="nav-text">{item.title}</span> </Link> </Menu.Item> ) } /* 父级 */ renderSubMenu = (item: IFMenu) => ( <SubMenu key={item.path} title={item.title}> { item.child!.map((val) => ( val.child ? this.renderSubMenu(val) : this.renderMenuItem(val) )) } </SubMenu> ) render() { return ( <Sider trigger={null} collapsible collapsed={this.props.collapsed} width="256"> <div className="menu-logo"> <Link to="/JFCC" className="a-logo"> <img src={this.state.Logo} alt="Logo" className="Logo"></img> </Link> </div> <Menu theme="dark" mode="inline" > {Route.menus.map((val: IFMenu) => { return val.child ? this.renderSubMenu(val) : this.renderMenuItem(val) })} </Menu> </Sider> ); } } export default withRouter(SiderCustom);

      

  • 相关阅读:
    语音信号端点检测
    WEBPACK & BABEL 打包项目
    使用 Qt 获取 UDP 数据并显示成图片(2)
    QSS为Qt程序添加不一样的样式
    window 搜索大文件
    Idea java 编译发生 cannot find symbol
    JetBeans Tab键相关设置
    JetBean Rider 重命名 c# 程序集名
    Unity 导入其他工程
    列出当前文件夹下的以log结尾的文件名
  • 原文地址:https://www.cnblogs.com/gqx-html/p/12912162.html
Copyright © 2011-2022 走看看