javascript - 如何使用 react 或 css 在图库中一次突出显示 1 张图像

标签 javascript css reactjs

我正在创建一个图像选择模式,并希望用户只选择 1 张图像。我知道如何获取那张独特的图像并推送该数据,但我不知道如何一次突出显示一张单独的图像。

例如,如果用户点击一张图片,该图片周围应该有蓝色边框,但如果他们点击另一张图片,则第二张图片将有蓝色边框,而另一张图片将失去该边框。

可能有数百张图片,所以我无法手写出来。我该怎么做?

这是我的一些代码,非常基本的东西。

imageChosen = (e) => {
  console.log(e)
};

<div className={classes.imageList}>
  <div className={classes.imageWrap}>
     <img onClick={(e) => this.imageChosen(e.target.src)} src="smallfamilyadv.jpg" alt="" />
  </div>
  <div className={classes.imageWrap}>
     <img onClick={(e) => this.imageChosen(e.target.src)} src="BugzPlaypark.jpg" alt="" />
  </div>
  <div className={classes.imageWrap}>
     <img onClick={(e) => this.imageChosen(e.target.src)} src="play-park-500x500.jpg" alt="" />
  </div>
</div>

最佳答案

使用状态和数组列表

state = {
 imageChosen : undefined;
}

render() {
 const img = ["smallfamilyadv.jpg","BugzPlaypark.jpg", "play-park-500x500.jpg"]

 return <div className={classes.imageList}>
  {img.map((e,i)=> {
   return <div key={i} className={this.state.imageChosen === e ? classes.imageWrapSelected : classes.imageWrapNormal}>
      <img onClick={(e) => this.setState({imageChosen:e.target.src})} src={e} alt={e} />
   </div>
  })} 
 </div>
}

关于javascript - 如何使用 react 或 css 在图库中一次突出显示 1 张图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58220210/

相关文章:

javascript - jquery 将 json url 附加到 href 中

javascript - 有关 Angular Material $mdDialog.finally 的文档?

css - 忽略 nowrap 的 Firefox 文本溢出(Chrome 有效)

reactjs - React的`this.props`里面的`getDefaultProps()`?

reactjs - 在 React 和 Redux 中如何使双冒号起作用

javascript - RequireJS:如何从一个模块加载多个函数?

javascript - SVG:更改 dy 属性不会更改父文本元素的边界矩形高度

css - 如何使表格在手机上的平板电脑上不调整大小

css - 为什么嵌入的样式与具有相同样式的链接 CSS 文件呈现不同?

android - 如何在 Android 设备上运行带有 Node js 后端的 React Native 应用程序?