logoAnt Design

⌘ K
  • 设计
  • 研发
  • 组件
  • 博客
  • 资源
  • 国内镜像
6.0.0-alpha.1
  • 组件总览
  • 通用
    • Button按钮
    • FloatButton悬浮按钮
      5.0.0
    • Icon图标
    • Typography排版
  • 布局
    • Divider分割线
    • Flex弹性布局
      5.10.0
    • Grid栅格
    • Layout布局
    • Masonry瀑布流
      6.0.0
    • Space间距
    • Splitter分隔面板
      5.21.0
  • 导航
    • Anchor锚点
    • Breadcrumb面包屑
    • Dropdown下拉菜单
    • Menu导航菜单
    • Pagination分页
    • Steps步骤条
    • Tabs标签页
  • 数据录入
    • AutoComplete自动完成
    • Cascader级联选择
    • Checkbox多选框
    • ColorPicker颜色选择器
      5.5.0
    • DatePicker日期选择框
    • Form表单
    • Input输入框
    • InputNumber数字输入框
    • Mentions提及
    • Radio单选框
    • Rate评分
    • Select选择器
    • Slider滑动输入条
    • Switch开关
    • TimePicker时间选择框
    • Transfer穿梭框
    • TreeSelect树选择
    • Upload上传
  • 数据展示
    • Avatar头像
    • Badge徽标数
    • Calendar日历
    • Card卡片
    • Carousel走马灯
    • Collapse折叠面板
    • Descriptions描述列表
    • Empty空状态
    • Image图片
    • List列表
      废弃
    • Popover气泡卡片
    • QRCode二维码
      5.1.0
    • Segmented分段控制器
    • Statistic统计数值
    • Table表格
    • Tag标签
    • Timeline时间轴
    • Tooltip文字提示
    • Tour漫游式引导
      5.0.0
    • Tree树形控件
  • 反馈
    • Alert警告提示
    • Drawer抽屉
    • Message全局提示
    • Modal对话框
    • Notification通知提醒框
    • Popconfirm气泡确认框
    • Progress进度条
    • Result结果
    • Skeleton骨架屏
    • Spin加载中
    • Watermark水印
      5.1.0
  • 其他
    • Affix固钉
    • App包裹组件
      5.1.0
    • ConfigProvider全局化配置
    • Util工具类
何时使用
代码演示
基本用法
容错处理
渐进加载
多张图片预览
相册模式
自定义预览图片
受控的预览
自定义工具栏
自定义预览内容
嵌套
API
Image
PreviewType
PreviewGroup
PreviewGroupType
Interface
TransformType
TransformAction
ToolbarRenderInfoType
ImgInfo
Semantic DOM
主题变量(Design Token)

Image
图片

可预览的图片。
使用import { Image } from "antd";
源码components/image
文档
编辑此页更新日志
文档贡献者
  • Empty空状态List列表

    相关资源

    Ant Design X
    Ant Design Charts
    Ant Design Pro
    Pro Components
    Ant Design Mobile
    Ant Design Mini
    Ant Design Web3
    Ant Design Landing-首页模板集
    Scaffolds-脚手架市场
    Umi-React 应用开发框架
    dumi-组件/文档研发工具
    qiankun-微前端框架
    Ant Motion-设计动效
    国内镜像站点 🇨🇳

    社区

    Awesome Ant Design
    Medium
    X
    yuque logoAnt Design 语雀专栏
    Ant Design 知乎专栏
    体验科技专栏
    seeconf logoSEE Conf-蚂蚁体验科技大会
    加入我们

    帮助

    GitHub
    更新日志
    常见问题
    报告 Bug
    议题
    讨论区
    StackOverflow
    SegmentFault

    Ant XTech logo更多产品

    yuque logo语雀-构建你的数字花园
    AntV logoAntV-数据可视化解决方案
    Egg logoEgg-企业级 Node.js 框架
    Kitchen logoKitchen-Sketch 工具集
    Galacean logoGalacean-互动图形解决方案
    xtech logo蚂蚁体验科技
    主题编辑器
    Made with ❤ by
    蚂蚁集团和 Ant Design 开源社区

    何时使用

    • 需要展示图片时使用。
    • 加载显示大图或加载失败时容错处理。

    代码演示

    预览
    基本用法

    单击图像可以放大显示。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    容错处理

    加载失败显示图像占位符。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    渐进加载

    大图使用 placeholder 渐进加载。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    预览
    多张图片预览

    点击左右切换按钮可以预览多张图片。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    相册模式

    从一张图片点开相册。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    自定义预览图片

    可以设置不同的预览图片。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    scaleStep:

    预览
    受控的预览

    可以使预览受控。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    预览
    自定义工具栏

    可以自定义工具栏并添加下载原图或翻转旋转后图片的按钮。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    预览
    自定义预览内容

    可以自定义预览内容。

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon
    嵌套

    嵌套在弹框当中使用

    CodeSandbox Icon
    Hitu Icon
    codepen icon
    External Link Icon
    Expand Icon

    API

    通用属性参考:通用属性

    Image

    参数说明类型默认值版本
    alt图像描述string-
    classNames自定义语义化结构类名Record<SemanticDOM, string>-
    fallback加载失败容错地址string-
    height图像高度string | number-
    placeholder加载占位,为 true 时使用默认占位ReactNode-
    preview预览参数,为 false 时禁用boolean | PreviewTypetrue
    src图片地址string-
    styles自定义语义化结构样式Record<SemanticDOM, string>-
    width图像宽度string | number-
    onError加载错误回调(event: Event) => void-

    其他属性见 <img>

    PreviewType

    参数说明类型默认值版本
    actionsRender自定义工具栏渲染(originalNode: React.ReactElement, info: ToolbarRenderInfoType) => React.ReactNode-
    classNames自定义语义化结构类名Record<SemanticDOM, string>-
    closeIcon自定义关闭 IconReact.ReactNode-
    cover自定义预览遮罩React.ReactNode-
    destroyOnClose关闭预览时销毁子元素,已移除,不再支持booleanfalse
    forceRender强制渲染预览图,已移除,不再支持boolean-
    getContainer指定预览挂载的节点,但依旧为全屏展示,false 为挂载在当前位置string | HTMLElement | (() => HTMLElement) | false-
    imageRender自定义预览内容(originalNode: React.ReactElement, info: { transform: TransformType, image: ImgInfo }) => React.ReactNode-
    mask缩略图遮罩,请使用 cover 替换ReactNode-
    maskClassName缩略图遮罩类名,请使用 classNames.cover 替换string-
    maxScale最大缩放倍数number50
    minScale最小缩放倍数number1
    movable是否可移动booleantrue
    open是否显示预览boolean-
    rootClassName预览图的根 DOM 类名,会同时作用在图片和预览层最外侧string-
    scaleStep1 + scaleStep 为缩放放大的每步倍数number0.5
    src自定义预览 srcstring-
    styles自定义语义化结构样式Record<SemanticDOM, string>-
    toolbarRender自定义工具栏,请使用 actionsRender 替换(originalNode: React.ReactElement, info: Omit<ToolbarRenderInfoType, 'current' | 'total'>) => React.ReactNode-
    visible是否显示,请使用 open 替换boolean-
    onOpenChange预览打开状态变化的回调(visible: boolean) => void-
    onTransform预览图 transform 变化的回调{ transform: TransformType, action: TransformAction }-
    onVisibleChange当 visible 发生改变时的回调,请使用 onOpenChange 替换(visible: boolean, prevVisible: boolean) => void-

    PreviewGroup

    参数说明类型默认值版本
    fallback加载失败容错地址string-
    items预览数组string[] | { src: string, crossOrigin: string, ... }[]-
    preview预览参数,为 false 时禁用boolean | PreviewGroupTypetrue

    PreviewGroupType

    参数说明类型默认值版本
    actionsRender自定义工具栏渲染(originalNode: React.ReactElement, info: ToolbarRenderInfoType) => React.ReactNode-
    classNames自定义预览类名对象Record<SemanticDOM, string>-
    closeIcon自定义关闭 IconReact.ReactNode-
    countRender自定义预览计数内容(current: number, total: number) => React.ReactNode-
    current当前预览图的 indexnumber-
    forceRender强制渲染预览图,已移除,不再支持boolean-
    getContainer指定预览挂载的节点,但依旧为全屏展示,false 为挂载在当前位置string | HTMLElement | (() => HTMLElement) | false-
    imageRender自定义预览内容(originalNode: React.ReactElement, info: { transform: TransformType, image: ImgInfo, current: number }) => React.ReactNode-
    mask缩略图遮罩,请使用 cover 替换ReactNode-
    maskClassName缩略图遮罩类名,请使用 classNames.cover 替换string-
    minScale最小缩放倍数number1
    maxScale最大放大倍数number50
    movable是否可移动booleantrue
    open是否显示预览boolean-
    rootClassName预览图的根 DOM 类名,会同时作用在图片和预览层最外侧,请使用 classNames.root 替换string-
    styles自定义语义化结构样式Record<SemanticDOM, string>-
    scaleStep1 + scaleStep 为缩放放大的每步倍数number0.5
    toolbarRender自定义工具栏,请使用 actionsRender 替换(originalNode: React.ReactElement, info: ToolbarRenderInfoType) => React.ReactNode-
    visible是否显示,请使用 open 替换boolean-
    onOpenChange预览打开状态变化回调,额外携带当前预览图索引(visible: boolean, info: { current: number }) => void-
    onChange切换预览图的回调(current: number, prevCurrent: number) => void-
    onTransform预览图 transform 变化的回调{ transform: TransformType, action: TransformAction }-
    onVisibleChange当 visible 发生改变时的回调,请使用 onOpenChange 替换(visible: boolean, prevVisible: boolean, current: number) => void-

    Interface

    TransformType

    typescript
    {
    x: number;
    y: number;
    rotate: number;
    scale: number;
    flipX: boolean;
    flipY: boolean;
    }

    TransformAction

    typescript
    type TransformAction =
    | 'flipY'
    | 'flipX'
    | 'rotateLeft'
    | 'rotateRight'
    | 'zoomIn'
    | 'zoomOut'
    | 'close'
    | 'prev'
    | 'next'
    | 'wheel'
    | 'doubleClick'
    | 'move'
    | 'dragRebound'
    | 'reset';

    ToolbarRenderInfoType

    typescript
    {
    icons: {
    flipYIcon: React.ReactNode;
    flipXIcon: React.ReactNode;
    rotateLeftIcon: React.ReactNode;
    rotateRightIcon: React.ReactNode;
    zoomOutIcon: React.ReactNode;
    zoomInIcon: React.ReactNode;
    };
    actions: {
    onActive?: (index: number) => void; // 5.21.0 之后支持
    onFlipY: () => void;
    onFlipX: () => void;
    onRotateLeft: () => void;
    onRotateRight: () => void;
    onZoomOut: () => void;
    onZoomIn: () => void;
    onReset: () => void; // 5.17.3 之后支持
    onClose: () => void;
    };
    transform: TransformType,
    current: number;
    total: number;
    image: ImgInfo
    }

    ImgInfo

    typescript
    {
    url: string;
    alt: string;
    width: string | number;
    height: string | number;
    }

    Semantic DOM

    预览
    • root
      根元素
    • image
      图片元素
    • cover
      悬浮图片显示的提示元素
    • popup.root
      预览根元素
    • popup.mask
      预览遮罩元素
    • popup.body
      预览内容元素
    • popup.footer
      预览页脚元素
    • popup.actions
      预览操作组元素

    主题变量(Design Token)

    组件 Token如何定制?
    Token 名称描述类型默认值
    previewOperationColor预览操作图标颜色stringrgba(255,255,255,0.65)
    previewOperationColorDisabled预览操作图标禁用颜色stringrgba(255,255,255,0.25)
    previewOperationHoverColor预览操作图标悬浮颜色stringrgba(255,255,255,0.85)
    previewOperationSize预览操作图标大小number18
    zIndexPopup预览浮层 z-indexnumber1080
    全局 Token如何定制?