我使用Semantic UI React创建了一个image元素。
<Image floated="right" size="mini" src="/someImageUrl.png" />
如果未加载图片的src
属性,则会显示损坏的图片占位符。
如果我的图片没有加载,我该如何隐藏这个损坏的图像占位符并且不显示图像?
我尝试按照this StackOverflow answer的回答建议使用
<Image src="Error.src" onerror="this.style.display='none'"/>
但我收到错误Expected 'onError' listener to be a function.
答案 0 :(得分:3)
您可以通过处理程序事件的img
属性将onError
元素传递给target
处理程序,并将图像的src
更改为''
或{{ 1}}到style.display
。
none
<Image src={imageObject.Url} onError={i => i.target.src=''} />
答案 1 :(得分:1)
您可以使用:
<Image src={imageObject.Url} onError={e => e.target.style.display = 'none'} />
答案 2 :(得分:0)
我遇到了一个问题,其中img图标使用src =“”呈现。由于存在初始状态源,我将其设置为空字符串
在useEffect /(组件已装入)中。我将该状态更新为所需的网址。
问题是在下载URL时,残破的img图标仍然存在。
也不会触发onError = {}。
解决方案是有条件的渲染。
{
source === "" ? null : <Img src={source} onError={someMethod} />
}