美文网首页
2022-05-06 React阿里图标库的图标 react项目

2022-05-06 React阿里图标库的图标 react项目

作者: 半眼鱼 | 来源:发表于2022-05-06 21:22 被阅读0次

一、周所周知
在 Antd Design 中也有一些图标,但是要找到自己想要的图标不是很方便,需要一个一个的找。而且提供的图标数量也不是很多!
而阿里图标库可以通过搜索找到自己想要的图标,图标的数量和样式都比较的多,非常的方便快捷。那问题来了,如何在React中引入阿里图标库的图标!
二、如何引入
在 Antd Design 的 Icon图标 给了我们答案


image.png

而我们可以把这个封装成一个组件,方便在其他组件中使用,代码如下:

IconFont.jsx

import { createFromIconfontCN } from '@ant-design/icons';

const IconFont = createFromIconfontCN({
    scriptUrl: '//at.alicdn.com/t/font_2235432_bfzmqr9xg9h.js',
    // scriptUrl的值是从阿里图标库中复制过来的,每次添加了图标都要重新复制新的链接
});

export default IconFont;

scriptUrl怎么来的

把想要的图标都加入到项目库之后


image.png

如何使用呢
在需要的组件中引入,传入 type

import IconFont from './../components/IconFont';
// 路径写自己的
// 使用组件  type也是从图标库复制过来的
<IconFont type = "icon-order" />
type从哪里来

鼠标 hover 的时候就可以点击复制代码了


image.png

1、操作步骤
阿里矢量图标网站
将图标加入购物车
添加至项目
选择Symbol方式引入,复制代码

2、react 引用 iconFont

import { createFromIconfontCN } from '@ant-design/icons';

const IconFont = createFromIconfontCN({
  scriptUrl: [
 '//at.alicdn.com/t/font_2196242_dq7mz11miut.js', // icon-home  icon-gouwucheman
  ],
});

7

<IconFont type="icon-home" />
<IconFont type={item.icon} />

3、引用 Menu

import { Menu } from 'antd';
import menuList from './menu'
const { SubMenu } = Menu;
class Slider extends React.Component {
  render() {
    return (
      <HashRouter>
        <Menu theme="dark" defaultOpenKeys={['home']} defaultSelectedKeys={['home']} mode="inline">
          {
            menuList.map((item)=>{
              if(item.subs){
                return (
                  <SubMenu key={item.index} title={item.name} icon={<IconFont type={item.icon} />}>
                    {
                      item.subs.map((subItem) => {
                        return (
                          <Menu.Item key={subItem.index}>
                            <Link to={subItem.path}>{subItem.name}</Link>
                          </Menu.Item>
                        )
                      })
                    }
                  </SubMenu>
                )
              }else{
                return (
                  <Menu.Item key={item.index} icon={<IconFont type={item.icon} />}>
                    <Link to={item.path}>{item.name}</Link>
                  </Menu.Item>
                )
              }
            })
          }
        </Menu>
      </HashRouter>
    );
  }
}

export default Slider;

4、menu.js文件

const menuList =  [
  {
    path: '/home',
    name: '首页',
    index: 'home',
    icon: 'icon-home'
  },
  {
    path: '/order_mag',
    name: '订单管理',
    index: 'order_mag',
    icon: 'icon-gouwucheman',
    subs: [
      {
        path: '/promotion',
        name: '股东活动订单',
        index: 'promotion',
      },
      {
        path: '/couponOrder',
        name: '优惠券订单',
        index: 'couponOrder',
      }
    ]
  }
]

export default menuList;

5、router/index.js

import React from 'react'
import {Switch, Route, HashRouter} from 'react-router-dom'

import App from '../App'
import Login from '../views/login'

class MRoute extends React.Component {
  render (){
    return(
      <HashRouter>
        <Switch>
          <Route path="/login" component={ Login } />
          <App />
        </Switch>
      </HashRouter>
    )
  }
}

export default MRoute;

相关文章

网友评论

      本文标题:2022-05-06 React阿里图标库的图标 react项目

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