基础用法与原生 img 标签一致,可以设置 src、alt 等原生属性。
通过 width 和 height 设置图片大小,若未指定,会从 style 中读取width,height属性。
width 和 height 若为 number, 会经过 pxTransform 转换
<Image width={200} height={200} src="https://img.yzcdn.cn/vant/cat.jpeg" />通过 mode 属性可以设置图片填充模式,可选值见下方表格。
<Image width={200} height={200} mode="scaleToFill" src="https://img.yzcdn.cn/vant/cat.jpeg" />通过 round 属性可以设置图片变圆。
<Image shape="round" width={200} height={200} src="https://img.yzcdn.cn/vant/cat.jpeg" />设置 lazyLoad 属性来开启图片懒加载。
<Image lazyLoad width={200} height={200} src="https://img.yzcdn.cn/vant/cat.jpeg" />通过 placeholder 设置加载中提示,通过 fallback设置加载失败提示
import { Photo, PhotoFail } from "@taroify/icons"
<Image width={200} height={200} placeholder="加载中..." />
<Image width={200} height={200} src="error" fallback="加载失败" />
<Image width={200} height={200} src="error" fallback={<PhotoFail />} />
<Image width={200} height={200} placeholder={<Photo />} />| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| src | 图片链接 | string | - |
| mode | 图片填充模式 | string | scaleToFill |
| alt | 替代文本 | string | - |
width v0.3.2-alpha.0 | 宽度 | string|number | - |
height v0.3.2-alpha.0 | 长度 | string|number | - |
| shape | 图片形状 square rounded circle | boolean | - |
| lazyLoad | 是否开启图片懒加载 | boolean | false |
| placeholder | 加载中提示 | ReactNode | - |
| fallback | 加载失败提示 | ReactNode | - |
| 名称 | 含义 |
|---|---|
| scaleToFill | 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 |
| aspectFit | 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。 |
| aspectFill | 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。 |
| widthFix | 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变 |
| heightFix | 缩放模式,高度不变,宽度自动变化,保持原图宽高比不变 |
| top | 裁剪模式,不缩放图片,只显示图片的顶部区域 |
| bottom | 裁剪模式,不缩放图片,只显示图片的底部区域 |
| center | 裁剪模式,不缩放图片,只显示图片的中间区域 |
| left | 裁剪模式,不缩放图片,只显示图片的左边区域 |
| right | 裁剪模式,不缩放图片,只显示图片的右边区域 |
| topLeft | 裁剪模式,不缩放图片,只显示图片的左上边区域 |
| topRight | 裁剪模式,不缩放图片,只显示图片的右上边区域 |
| bottomLeft | 裁剪模式,不缩放图片,只显示图片的左下边区域 |
| bottomRight | 裁剪模式,不缩放图片,只显示图片的右下边区域 |
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
| 名称 | 默认值 | 描述 |
|---|---|---|
| —image-placeholder-color | var(var(—gray-6) | - |
| —image-placeholder-font-size | var(—font-size-md) | - |
| —image-placeholder-icon-size | 32px * $hd | - |
| —image-placeholder-icon-color | var(—gray-4) | - |
| —image-placeholder-background-color | var(—background-color) | - |