# image

图片。支持 JPG、PNG、SVG 格式

属性 类型
默认值
必填
说明
src string 图片资源地址
mode string scaleToFill 图片裁剪、缩放的模式
lazy-load boolean false 图片懒加载,在即将进入一定范围(上下三屏)时才开始加载
binderror eventhandle 当错误发生时触发, event.detail = {errMsg}
bindload eventhandle 当图片载入完毕时触发,event.detail = {height, width}

mode 的合法值

说明
scaleToFill 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
widthFix 缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
top 裁剪模式,不缩放图片,只显示图片的顶部区域
bottom 裁剪模式,不缩放图片,只显示图片的底部区域
center 裁剪模式,不缩放图片,只显示图片的中间区域
left 裁剪模式,不缩放图片,只显示图片的左边区域
right 裁剪模式,不缩放图片,只显示图片的右边区域
top left 裁剪模式,不缩放图片,只显示图片的左上边区域
top right 裁剪模式,不缩放图片,只显示图片的右上边区域
bottom left 裁剪模式,不缩放图片,只显示图片的左下边区域
bottom right 裁剪模式,不缩放图片,只显示图片的右下边区域

# Bug & Tip

  • image 组件默认宽度 300px、高度 225px

# 示例代码

<view class="page">
  <view class="page__hd">
    <text class="page__title">image</text>
    <text class="page__desc">图片</text>
  </view>
  <view class="page__bd">
    <view class="section section_gap" qa:for="{{array}}" qa:for-item="item">
      <view class="section__title">{{item.text}}</view>
      <view class="section__ctn">
        <image
          style="width: 200px; height: 200px; background-color: #eeeeee;"
          mode="{{item.mode}}"
          src="{{src}}"
        ></image>
      </view>
    </view>
  </view>
</view>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Page({
  data: {
    array: [
      {
        mode: 'scaleToFill',
        text: 'scaleToFill:不保持纵横比缩放图片,使图片完全适应'
      },
      {
        mode: 'aspectFit',
        text: 'aspectFit:保持纵横比缩放图片,使图片的长边能完全显示出来'
      },
      {
        mode: 'aspectFill',
        text: 'aspectFill:保持纵横比缩放图片,只保证图片的短边能完全显示出来'
      },
      {
        mode: 'top',
        text: 'top:不缩放图片,只显示图片的顶部区域'
      },
      {
        mode: 'bottom',
        text: 'bottom:不缩放图片,只显示图片的底部区域'
      },
      {
        mode: 'center',
        text: 'center:不缩放图片,只显示图片的中间区域'
      },
      {
        mode: 'left',
        text: 'left:不缩放图片,只显示图片的左边区域'
      },
      {
        mode: 'right',
        text: 'right:不缩放图片,只显示图片的右边边区域'
      },
      {
        mode: 'top left',
        text: 'top left:不缩放图片,只显示图片的左上边区域'
      },
      {
        mode: 'top right',
        text: 'top right:不缩放图片,只显示图片的右上边区域'
      },
      {
        mode: 'bottom left',
        text: 'bottom left:不缩放图片,只显示图片的左下边区域'
      },
      {
        mode: 'bottom right',
        text: 'bottom right:不缩放图片,只显示图片的右下边区域'
      }
    ],
    src: '../resources/cat.jpg'
  },
  imageError: function(e) {
    console.log('image3发生error事件,携带值为', e.detail.errMsg)
  }
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 原图

image

# scaleToFill

不保持纵横比缩放图片,使图片完全适应

image

# aspectFit

保持纵横比缩放图片,使图片的长边能完全显示出来

image

# aspectFill

保持纵横比缩放图片,只保证图片的短边能完全显示出来

image

# top

不缩放图片,只显示图片的顶部区域

image

# bottom

不缩放图片,只显示图片的底部区域

image

# center

不缩放图片,只显示图片的中间区域

image

# left

不缩放图片,只显示图片的左边区域

image

不缩放图片,只显示图片的右边边区域

image

# top left

不缩放图片,只显示图片的左上边区域

image

# top right

不缩放图片,只显示图片的右上边区域

image

# bottom left

不缩放图片,只显示图片的左下边区域

image

# bottom right

不缩放图片,只显示图片的右下边区域

image

在线客服