mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-15 00:29:12 +08:00
8c094ba792
* feat: popupOverflow * test: add test case * docs: preview * docs: update preview * test: update test case
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import { PictureOutlined } from '@ant-design/icons';
|
|
import { Image, Tooltip, Typography } from 'antd';
|
|
import React from 'react';
|
|
import useLocale from '../../../hooks/useLocale';
|
|
|
|
const locales = {
|
|
cn: {
|
|
tip: '预览',
|
|
},
|
|
en: {
|
|
tip: 'Preview',
|
|
},
|
|
};
|
|
|
|
export interface InlinePopoverProps {
|
|
previewURL?: string;
|
|
}
|
|
|
|
// 鼠标悬浮弹出 Popover 组件,用于帮助用户更快看到一些属性对应的预览效果
|
|
const InlinePopover: React.FC = (props: InlinePopoverProps) => {
|
|
const { previewURL } = props;
|
|
|
|
const [locale] = useLocale(locales);
|
|
const [visible, setVisible] = React.useState(false);
|
|
|
|
return (
|
|
<>
|
|
<Tooltip title={locale.tip}>
|
|
<Typography.Link onClick={() => setVisible(true)}>
|
|
<PictureOutlined />
|
|
</Typography.Link>
|
|
</Tooltip>
|
|
|
|
<Image
|
|
width={10}
|
|
style={{ display: 'none' }}
|
|
src={previewURL}
|
|
preview={{
|
|
visible,
|
|
src: previewURL,
|
|
onVisibleChange: (value) => {
|
|
setVisible(value);
|
|
},
|
|
}}
|
|
/>
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default InlinePopover;
|