我想在react-select中添加一张图片作为图标。我已经做了所有正确的事情,但是我遇到了一个问题,在react中,图片是这样写的:
<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>
);
我发现没有找到图片: