简体中文
组件类型:UniImageElement
图片
Web | Android | iOS |
---|---|---|
4.0 | 3.9 | 4.11 |
名称 | 类型 | 默认值 | 兼容性 | 描述 | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
src | string(string.ImageURIString) | - | 图片资源地址 | ||||||||||||||||||||||||||||||||||||||||||||||
mode | string | "scaleToFill" | 图片裁剪、缩放的模式 | ||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
lazy-load | boolean | false | 图片懒加载。只针对page与scroll-view下的image有效。 安卓默认懒加载不支持修改 | ||||||||||||||||||||||||||||||||||||||||||||||
fade-show | boolean | false | 图片显示动画效果 | ||||||||||||||||||||||||||||||||||||||||||||||
webp | boolean | true | 是否支持 webP 格式 | ||||||||||||||||||||||||||||||||||||||||||||||
show-menu-by-longpress | boolean | false | 开启长按图片显示识别小程序码菜单 | ||||||||||||||||||||||||||||||||||||||||||||||
draggable | boolean | false | 鼠标长按是否能拖动图片(仅H5平台) | ||||||||||||||||||||||||||||||||||||||||||||||
@error | (event: UniImageErrorEvent) => void | - | 图片加载错误时触发,event.detail = { errMsg } | ||||||||||||||||||||||||||||||||||||||||||||||
@load | (event: UniImageLoadEvent) => void | - | 图片加载完成时触发,event.detail = { width: '图片宽度px', height: '图片高度px' } |
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail | UniImageErrorEventDetail | 是 | - | - | |||||||||||||
|
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail | UniImageLoadEventDetail | 是 | - | - | |||||||||||||||||||
|
web端支持的图片格式,不同浏览器有差异,可查询caniuse。
app端支持的图片格式如下:
如需其他图片格式,可自行开发uts组件插件或搜索插件市场,如
注意:webp在不同小程序平台策略不同,有的需要打开 webp 属性,有的仅支持来自服务器的webp。
本地路径/static方式
由于uni-app/uni-app x编译时,只把/static目录下的静态资源copy到app中,所以src均需指向/static目录下。
其他目录的图片由于不会被打包进去,所以无法访问。
app平台文件路径会存在大小写敏感问题,为了有更好的兼容性,建议统一按大小写敏感原则处理 详情
本地绝对路径file:///方式
app-android平台形如file:///storage/emulated/0/Android/data/io.dcloud.uniappx/apps/__UNI__4517034/www/static/test-image/logo.png
。
访问本应用内的资源时无需使用本方式,推荐使用/static方式。上述地址受包名、appid影响。
file:///方式一般用于download等公共目录。使用前需确保拥有相关权限。
支持网络路径
支持http、https。
安卓端image组件内部使用facebook的fresco库(2.5.0),自带缓存策略,也会自动清理缓存。
iOS端image组件内部使用SDWebImage库(5.10.0),自带缓存策略,默认7天缓存,缓存过期后会自动清理。
不可以嵌套组件
Template
Script
<template>
<view style="flex: 1;">
<page-head :title="title"></page-head>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-center" style="background:#FFFFFF;">
<image class="image" :fade-show="true" mode="widthFix" :src="imageSrc" @error="error" @load="load"></image>
</view>
<view class="uni-btn-v">
<button type="primary" @tap="imageFormat">图片格式示例</button>
</view>
<view class="uni-btn-v">
<button type="primary" @tap="imageMode">图片缩放模式示例</button>
</view>
<view class="uni-btn-v">
<button type="primary" @tap="imagePath">图片路径示例</button>
</view>
<view class="uni-btn-v">
<button type="primary" @tap="imageLarge">大图示例</button>
</view>
</view>
<view v-if="autoTest">
<image :src="setCookieImage"></image>
<image :src="verifyCookieImage" @error="error"></image>
</view>
</view>
</template>
<style>
.image {
margin: 20px auto;
width: 100px;
}
</style>