Chuyển tới nội dung chính

ImageViewer

ImageViewer component: Component giúp tạo một gallery để xem hình ảnh với kích thước của màn hình, người dùng có thể tương tác thu phóng, chuyển hình,...

Properties​

ImageViewer​

ImageType​

Example​

import React, { useState } from "react";
import { Page, ImageViewer, Box, Text } from "zmp-ui";

const images = [
{
src: "https://stc-zmp.zadn.vn/zmp-zaui/images/e2e10aa1a6087a5623192.jpg",
alt: "img 1",
key: "1",
},
{
src: "https://stc-zmp.zadn.vn/zmp-zaui/images/fee40cbea0177c4925061.jpg",
alt: "img 2",
key: "2",
},
{
src: "https://stc-zmp.zadn.vn/zmp-zaui/images/82ca759bd932056c5c233.jpg",
alt: "img 3",
key: "3",
},
{
src: "https://stc-zmp.zadn.vn/zmp-zaui/images/77f5b8cd1464c83a91754.jpg",
alt: "img 4",
key: "4",
},
];

export default function HomePage() {
const [visible, setVisible] = useState(false);
const [activeIndex, setActiveIndex] = useState(0);
return (

<Text.Title size="small">ImageViewer</Text.Title>
<Box mt={6}>
<Box>
<Text.Title size="small">Usage</Text.Title>
</Box>
<Box mt={2}>
<Text size="xSmall" className="input-desc">
Khi cần xem và tương tác với hình ảnh trên kích thước lớn hơn
</Text>
</Box>
<Box mt={6}>
<Text.Title size="small">Example</Text.Title>
</Box>
<Box mt={2}>
<Box flex flexDirection="row" flexWrap="nowrap">
{images.map((img, index) => (
<Box
mr={1}
key={img.key}
style={{
width: "68px",
height: "69px",
borderRadius: "8px",
overflow: "hidden",
}}
>
<img
style={{ width: "100%", height: "100%", objectFit: "cover" }}
role="presentation"
onClick={() => {
setActiveIndex(index);
setVisible(true);
}}
src={img.src}
alt={img.alt}
/>
</Box>
))}
</Box>
<ImageViewer
onClose={() => setVisible(false)}
activeIndex={activeIndex}
images={images}
visible={visible}
/>
</Box>
</Box>

);
}