en-US
Support image preview.
zh-CN
支持图片预览。
import { useState } from 'react';
import { EyeOutlined } from '@react-devui/icons';
import { DImage } from '@react-devui/ui';
export default function Demo() {
const [active, setActive] = useState(0);
const [visible, setVisible] = useState(false);
const imgs = Array.from({ length: 4 }).map((_, i) => ({
src: `/assets/imgs/image-${i + 1}.jpg`,
alt: 'demo',
}));
return (
<>
{imgs.map((props, index) => (
<DImage
key={props.src}
style={{ height: 100 }}
dImgProps={props}
dActions={[
<DImage.Action
className="button"
onClick={() => {
setVisible(true);
}}
>
<EyeOutlined />
{index !== 3 && <span>Preview</span>}
</DImage.Action>,
]}
onClick={() => {
setActive(index);
}}
></DImage>
))}
<DImage.Preview
dList={imgs}
dActive={active}
dVisible={visible}
onClose={() => {
setVisible(false);
}}
onActiveChange={setActive}
></DImage.Preview>
</>
);
}
.button {
gap: 0 4px;
padding: 0 4px;
span {
font-size: 0.9em;
}
}