【发布时间】:2019-05-25 16:35:26
【问题描述】:
我尝试将react-image-gallery 与react-image-magnify 结合使用以获得具有放大预览效果的画廊,并根据react-image-gallery 文档,我将MyReactImageMagnify 组件传递给renderItem 组件上的renderItem 道具,但有右侧没有放大图像。
这是带有放大功能的画廊应该看起来像https://www.amazon.com/Samsung-MicroSD-Adapter-MB-ME128GA-AM/dp/B06XWZWYVP
这是我目前拥有的代码框https://codesandbox.io/s/goofy-lumiere-gk1y1
class MyImageGallery extends Component {
myRenderItem() {
return <MyReactImageMagnify {...this.props} />;
}
render() {
const properties = {
thumbnailPosition: "left",
useBrowserFullscreen: false,
showPlayButton: false,
renderItem: this.myRenderItem.bind(this),
items: [
{
original: "https://placeimg.com/640/480/any/1",
thumbnail: "https://placeimg.com/250/150/any/1"
},
{
original: "https://placeimg.com/640/480/any/2",
thumbnail: "https://placeimg.com/250/150/any/2"
},
{
original: "https://placeimg.com/640/480/any/3",
thumbnail: "https://placeimg.com/250/150/any/3"
}
]
};
return <ImageGallery {...properties} />;
}
}
编辑:亚马逊只是为了说明“向右放大”。我制作了另一个带有 2 列网格的代码框,您可以看到普通的 <MyReactImageMagnify /> 组件如何工作而 <MyImageGallery /> 没有。 https://codesandbox.io/s/practical-browser-0dbyo
【问题讨论】:
-
你想图像预览是固定的,还是像亚马逊一样可变大小?如果这就是你所需要的,固定会容易得多
-
固定大小就可以了。
标签: reactjs zooming preview image-gallery