以下是基于微信小程序官方文档 image 组件说明 的详细解析,包含 [image](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 标签的完整使用示例、属性详解、可选项说明和总结表格。
一、基本用法
<image>
是小程序中用于展示图片的核心组件,支持本地资源和网络资源。它不继承父容器样式,需单独设置宽高。
示例代码(WXML)
<!-- index.wxml -->
<view class="container">
<!-- 基本使用 -->
<image src="/images/logo.png" mode="aspectFit" />
<!-- 网络图片 -->
<image src="https://example.com/photo.jpg" mode="widthFix" />
<!-- 使用 bindtap 事件 -->
<image src="/images/icon-user.png" mode="scaleToFill" bindtap="onImageTap" />
<!-- 自定义样式 -->
<image
src="/images/banner.jpg"
mode="aspectFill"
style="width: 100%; height: 300rpx; border-radius: 20rpx;"
/>
</view>
二、JS 中绑定点击事件(index.js)
Page({
onImageTap() {
wx.showToast({ title: '图片被点击' });
}
});
三、WXSS 样式文件(index.wxss)
.container {
padding: 20rpx;
}
四、[image](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 属性详解与可选项说明
属性名 | 类型 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|
src | String | - | - | 图片资源地址,支持本地路径和网络路径 |
mode | String | scaleToFill | 见下表 | 图片裁剪、缩放的模式 |
lazy-load | Boolean | false | true / false | 是否启用懒加载(仅对 page 页面生效) |
fade-in | Boolean | true | true / false | 是否启用淡入效果 |
bindtap | EventHandle | - | - | 点击图片时触发的事件 |
show-menu-by-longpress | Boolean | false | true / false | 是否开启长按图片显示识别小程序码菜单(基础库 2.17.1+) |
五、mode
模式详解(共16种)
分为 缩放 和 裁剪 两种类型:
缩放模式(保持比例)
mode 值 | 效果描述 |
---|---|
scaleToFill | 不保持纵横比缩放图片,使图片的宽高完全拉伸填满 |
aspectFit | 保持纵横比缩放图片,使图片的宽高全部显示出来 |
widthFix | 宽度不变,高度按比例缩放 |
heightFix | 高度不变,宽度按比例缩放 |
裁剪模式(可能裁剪部分图像)
mode 值 | 效果描述 |
---|---|
aspectFill | 保持纵横比缩放图片,只保证图片的某一边撑满 |
top left / top center / top right | 上边左/中/右对齐,其余方向裁剪 |
center left / center center / center right | 中间左/中/右对齐 |
bottom left / bottom center / bottom right | 下边左/中/右对齐 |
六、完整属性使用示例说明
<image
src="https://example.com/pic.jpg"
mode="aspectFill" <!-- 图片等比缩放并裁剪 -->
lazy-load="{{true}}" <!-- 启用懒加载 -->
fade-in="{{true}}" <!-- 启用淡入动画 -->
show-menu-by-longpress="{{true}}" <!-- 开启长按识别二维码菜单 -->
bindtap="handleImageClick" <!-- 点击事件 -->
style="width: 100%; height: 400rpx; border-radius: 10rpx;"
/>
七、注意事项
- [image](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 默认宽度为 320px,高度为 240px。
- 如果要让图片适应容器,请使用
mode="widthFix"
或mode="heightFix"
。 mode="aspectFill"
常用于轮播图背景图,但会裁剪边缘内容。- 小程序默认不支持 base64 图片作为
src
。 - 使用
lazy-load
时,建议配合固定尺寸使用,避免布局抖动。
八、总结表格:[image](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 标签常用属性一览
属性名 | 类型 | 默认值 | 可选值 | 描述 |
---|---|---|---|---|
src | String | - | - | 图片资源路径(本地或网络) |
mode | String | scaleToFill | 16种模式 | 图片缩放/裁剪方式 |
lazy-load | Boolean | false | true / false | 是否启用懒加载 |
fade-in | Boolean | true | true / false | 是否启用淡入动画 |
show-menu-by-longpress | Boolean | false | true / false | 长按显示小程序码菜单 |
bindtap | EventHandle | - | - | 点击图片触发的事件 |
九、结语
[image](file://D:\workspace\me\rbac2024\read\后台系统\shop-api\itmk-base-web\src\main\java\com\itmk\web\goods\entity\Goods.java#L47-L47) 是小程序中最常用的组件之一,合理使用 mode
属性可以实现不同场景下的展示需求,如响应式适配、裁剪背景图、轮播图等。同时结合 lazy-load
和 show-menu-by-longpress
可以提升性能和用户体验。
建议在开发过程中多使用开发者工具调试 mode
和样式表现,确保在不同设备上都能良好展示。