使用四点多版本的ant design,图标没显示,直接把数据里的原文显示出来了,整了半天也不会,怎么解决啊

来源:7-4 项目作业

静儿丫

2021-07-06 11:07:18

import react, { ComponentFragment } from 'react';

import logo from './logo.png';

import { Menu } from 'antd';

import axios from 'axios';



import './style.css';


class AppHeader extends Component {

    constructor(props) {

        super(props);

        this.handleClick = this.handleClick.bind(this);

        this.getMenuItems = this.getMenuItems.bind(this);

        this.state = {

            list: []

        };

    }

    handleClick(e) {

        console.log('click ', e);

        this.setState({ current: e.key });

    };

    getMenuItems(){

        return this.state.list.map(item=>{

            return (

                <Menu.Item key={item.idicon={item.icon}>

                    {item.title}

                </Menu.Item>

            )

        });

    }

    render() {

        const { current } = this.state.list;

        return (

            <Fragment>

                <img src={logo} className="headerLogo" alt="logo" />

                <Menu onClick={this.handleClickselectedKeys={[current]} mode="horizontal">

                    {this.getMenuItems()}

                </Menu>

            </Fragment>

        )

    }

    componentDidMount(){

        axios.get('http://www.dell-lee.com/react/api/header.json').then(res=>{

            const data = res.data.data;

            this.setState({

                list: data

            });

        });

    }

}

export default AppHeader;

相关截图:

http://img.mukewang.com/climg/60e3c8bd096d959315390084.jpg

写回答

1回答

好帮手慕久久

2021-07-06

同学你好,解答如下:

1、ant design 4版本的用法与3版本差别很大。首先需要安装@ant-design/icons:

http://img.mukewang.com/climg/60e3cfae09880f8807040204.jpg

然后在页面中,引入Icon:

import Icon from '@ant-design/icons'

同学的用法不对,所以图标显示不出来。

2、4版本的图标与3版本的图标名字不一样,课程中的接口对应的是3版本中的图标名,不能在4上使用。如果使用版本4,那么就不能使用视频中的接口。

3、ant design 4版本,对动态渲染图标的支持性不如3版本好;另外,ant design虽然升级了,但是我们没必要使用最新的版本,综上,建议换成版本3。

4、可以按照如下操作,将ant design切换成版本3:

执行npm install --save antd@3.10.9 安装3版本的ant design,执行完后,如果package.json中的ant design版本变成了3开头,则说明切换成功:

http://img.mukewang.com/climg/60e3d279094740f606670278.jpg

如果上述方式不行,则执行以下操作:

先将项目中的node_modules文件夹删除,然后将package.json中的antd记录删除:

http://img.mukewang.com/climg/60e3d17409ac891306330323.jpg

然后执行npm install 重新装一下依赖。

装完之后,执行npm install --save antd@3.10.9。

​祝学习愉快!

0

0 学习 · 15276 问题

查看课程