基础用法与原生 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 | 宽度 | string|number | - |
height | 长度 | 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) | - |