【问题标题】:Use image as icon with react-select使用图像作为带有 react-select 的图标
【发布时间】:2019-11-29 08:11:21
【问题描述】:

我想使用 react-select 将图像添加为图标。我做得很好,但我有一个问题,即在反应中,图像是这样写的:

<img src={require(...)} />

所以我像这样使用 react-select :

const IconOption = (props) => (

  <Option {... props}>
    <div>
      <img src={require(props.data.image)} />
    </div>
  </Option>
);

然后调用选择框:

render() {
    return (
      <Select
        classNamePrefix="react-select"
        placeholder={"Search..."}
        onChange={this.handleChange}
        components={{ DropdownIndicator: () => null, Option: IconOption }}
        options={this.state.options}
        openMenuOnClick={false}
        styles={customStyle}
      />
    );
  }

我试着写:

const IconOption = (props) => (

  <Option {... props}>
    <div>
      {props.data.image}
    </div>
  </Option>
);

这给了我:

./css/img/PROFILEPICTURE.jpg

这正是我想要得到的,路径是正确的。如果我确切地写:

const IconOption = (props) => (

  <Option {... props}>
    <div>
      <img src="./css/img/PROFILEPICTURE.jpg" />
    </div>
  </Option>
);

图片显示正确。

如果我编写第一个代码,即为选择框中的每个项目获取不同图片的代码,则会出现错误:

在 react 中不使用 img 的 require 函数的任何解决方案?

编辑:

我也试过了:

const IconOption = (props) => 
  (
    <Option {... props}>
      <div>
        <img src={props.data.image} />
        {props.data.label}
      </div>
    </Option>
  );

我没有找到图片:

【问题讨论】:

  • 能否提供沙盒链接?

标签: reactjs image require react-select


【解决方案1】:

您只需删除 require,因为您的图像不是已编译的 react 应用程序的一部分:

const IconOption = (props) => (
  <Option {... props}>
    <div>
      <img src={props.data.image} />
    </div>
  </Option>
);

【讨论】:

  • 我编辑了最初的问题以回答您的解决方案。我确实忘了说我已经试过了。
  • 我刚刚了解到,如果您使用公用文件夹然后使用
  • @Kuartz 在我看来这应该没问题
猜你喜欢
  • 2019-02-05
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2020-05-03
  • 2021-06-14
相关资源
最近更新 更多