首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用reactjs更改头像中的图像

无法使用reactjs更改头像中的图像
EN

Stack Overflow用户
提问于 2020-07-29 20:19:16
回答 2查看 46关注 0票数 0

我的目标是在头像中显示一个图像,如果我可以在头像图标上选择一个图像文件,那么它应该在头像中显示图像。但我无法做到这一点。

有没有人能帮我在头像里显示图像?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-29 20:27:09

你应该这样做:

代码语言:javascript
复制
onImageChange = event => {
let file = URL.createObjectURL(event.target.files[0]);

console.log("File", file);

if (file === undefined) {
  console.log("File removed");
} else {
  this.setState({
    image: file
  });
}

};

和渲染

代码语言:javascript
复制
<Avatar src={this.state.image || '/static/images/avatar/1.jpg'} width="250" height="250" />

不要忘记在卸载时撤消

代码语言:javascript
复制
componentWillUnmount() {
   URL.revokeObjectURL(this.state.image);
}
票数 3
EN

Stack Overflow用户

发布于 2020-07-29 20:24:29

请使用保存到状态的图像。如下所示

代码语言:javascript
复制
<Avatar src={this.state.image} width="250" height="250" />

在构造函数中,使用默认值加载它。

代码语言:javascript
复制
constructor(props) {
    super(props);
    this.state = {
        'image': '/static/images/avatar/1.jpg'
    };
  }

并且图像更改事件应该是

代码语言:javascript
复制
onImageChange = event => {
    let file = URL.createObjectURL(event.target.files[0]);
    console.log("File", file);

    if (file == undefined) {
      console.log("File removed");
    } else {
      this.setState({
        image: file
      });
    }
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63153450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档