Image 图片
介绍
增强版的 img 标签,提供多种图片填充模式,支持图片懒加载、加载中提示、加载失败提示。
引入
代码演示
基础用法
基础用法与原生 `img` 标签一致,可以设置 `src`、`width`、`height`、`alt` 等原生属性。
填充模式
通过 `fit` 属性可以设置图片填充模式,可选值见下方表格。
圆形图片
通过 `round` 属性可以设置图片变圆,注意当图片宽高不相等且 `fit` 为 `contain` 或 `scale-down` 时,将无法填充一个完整的圆形。
图片懒加载
设置 `lazy-load` 属性来开启图片懒加载,需要搭配
组件使用。
加载中提示
`Image` 组件提供了默认的加载中提示,支持通过 `loading` 插槽自定义内容。
加载失败提示
`Image` 组件提供了默认的加载失败提示,支持通过 `error` 插槽自定义内容。
API
Props
参数 | 说明 | 类型 | 默认值 | |
---|---|---|---|---|
src | 图片链接 | string | - | |
fit | 图片填充模式 | string | fill | |
alt | 替代文本 | string | - | |
width | 宽度,默认单位为px | number、string | - | |
height | 高度,默认单位为px | number、string | - | |
radius | 圆角大小,默认单位为px | number、string | 0 | |
round | 是否显示为圆形 | boolean | false | |
lazy-load | 是否开启图片懒加载,须配合 [Lazyload](https://youzan.github.io/vant/v2/#/zh-CN/lazyload) 组件使用 | boolean | false | |
show-error | 是否展示图片加载失败提示 | boolean | true | |
show-loading | 是否展示图片加载中提示 | boolean | true | |
error-icon | 失败时提示的[图标名称](https://youzan.github.io/vant/v2/#/zh-CN/icon)或图片链接 | string | photo-fail | |
loading-icon | 加载时提示的[图标名称](https://youzan.github.io/vant/v2/#/zh-CN/icon)或图片链接 | string | photo | |
icon-prefix v2.10.12 | 图标类名前缀,同 Icon 组件的 [class-prefix 属性](https://youzan.github.io/vant/v2/#/zh-CN/icon#props) | string | van-icon |
图片填充模式
名称 | 含义 | |
---|---|---|
contain | 保持宽高缩放图片,使图片的长边能完全显示出来 | |
cover | 保持宽高缩放图片,使图片的短边能完全显示出来,裁剪长边 | |
fill | 拉伸图片,使图片填满元素 | |
none | 保持图片原有尺寸 | |
scale-down | 取none 或contain 中较小的一个 |
Events
事件名 | 说明 | 回调参数 | |
---|---|---|---|
click | 点击图片时触发 | event: Event | |
load | 图片加载完毕时触发 | - | |
error | 图片加载失败时触发 | - |
Slots
名称 | 说明 | |
---|---|---|
default v2.9.0 | 自定义图片下方的内容 | |
loading | 自定义加载中的提示内容 | |
error | 自定义加载失败时的提示内容 |
样式变量
组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考
。
名称 | 默认值 | 描述 | |
---|---|---|---|
@image-placeholder-text-color | @gray-6 | - | |
@image-placeholder-font-size | @font-size-md | - | |
@image-placeholder-background-color | @background-color | - | |
@image-loading-icon-size | 32px | - | |
@image-loading-icon-color | @gray-4 | - | |
@image-error-icon-size | 32px | - | |
@image-error-icon-color | @gray-4 | - |
常见问题
如何引用本地图片?
在 .vue 文件中通过相对路径引用本地图片时,需要在图片的链接外包上一层 `require()`,将图片 URL 转换为 webpack 模块请求,并结合
或者
进行处理。
> 对此更详细的解释可以参考 vue-loader 的
章节。
使用 image 标签无法渲染?
效果图: