ImgPicker图片选择器
引入
在app.json或index.json中引入组件,默认为ES6版本
"usingComponents": {
"vtu-imgPicker": "/miniprogram_npm/vtuweapp/imgPicker/vtu-imgPicker"
}
代码演示
基础用法
<vtu-imgPicker list="{{imgList}}"> </vtu-imgPicker>
Page({
data: {
imgList: [
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/1.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/2.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/3.png"
}
]
}
})
自定义图片数量
<vtu-imgPicker count="3" list="{{imgList}}"> </vtu-imgPicker>
Page({
data: {
imgList: [
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/1.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/2.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/3.png"
}
]
}
})
自定义每行数量
<vtu-imgPicker col="4" list="{{imgList}}"> </vtu-imgPicker>
Page({
data: {
imgList: [
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/1.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/2.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/3.png"
}
]
}
})
不可删除
<vtu-imgPicker col="4" list="{{imgList}}" delete="{{false}}"> </vtu-imgPicker>
Page({
data: {
imgList: [
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/1.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/2.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/3.png"
}
]
}
})
监听事件
<vtu-imgPicker col="4" list="{{imgList}}" bind:change="change" bind:remove="remove" bind:preview="preview"></vtu-imgPicker>
Page({
data: {
imgList: [
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/1.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/2.png"
},
{
url: "https://activity.vtuzx.com/doc/vtuui/weapp/avatar/3.png"
}
]
},
change: function (e) {
wx.showToast({
title: "添加了图片",
icon: 'none',
duration: 2000
});
console.log("添加了图片", e)
},
remove: function (e) {
wx.showToast({
title: "移除了图片",
icon: 'none',
duration: 2000
});
console.log("移除了图片", e)
},
preview: function (e) {
wx.showToast({
title: "预览了图片",
icon: 'none',
duration: 2000
});
console.log("预览了图片", e)
}
});
图片大小限制
<vtu-imgPicker col="4" list="{{imgList}}" max-size="1024"> </vtu-imgPicker>
图片宽度限制(max-width: 500px)
<vtu-imgPicker col="4" list="{{imgList}}" max-width="500"> </vtu-imgPicker>
图片高度限制(max-height: 500px)
<vtu-imgPicker col="4" list="{{imgList}}" max-height="500"> </vtu-imgPicker>
组件参数
Props
参数 | 说明 | 类型 | 默认值 | 必填 |
---|
col | 每行图片数量 | Number | - | 否 |
list | 图片数组 | Array | - | 否 |
mode | 图片裁剪、缩放的模式 | String | aspectFill | 否 |
upload-icon | 自定义上传图片图标 | String | - | 否 |
count | 最多可以选择的图片张数 | Number | 9 | 否 |
size-type | 所选的图片的尺寸 | Array | ['original', 'compressed'] | 否 |
source-type | 选择图片的来源 | Array | ['album', 'camera'] | 否 |
preview | 是否可预览 | Boolean | true | 否 |
delete | 是否可删除 | Boolean | true | 否 |
max-size | 图片最大尺寸 | Number | - | 否 |
max-width | 图片最大宽度 | Number | - | 否 |
max-height | 图片最大高度 | Number | - | 否 |
Events
事件 | 说明 | 返回值 |
---|
bind:change | 新增图片时触发 | 选中项发生变化时触发 change 事件,event.detail = {current: [ 新增项的url信息 ], all: [ 当前urls值 ]} |
bind:remove | 移除图片时触发 | 图片移除时触发 remove 事件,event.detail = {current: 移除项的url信息, all: [ 当前urls值 ], index: 移除项的下标} |
bind:preview | 图片被点击时(预览)触发 | 图片预览触发 preview 事件,event.detail = {current:[ 当前点击项的url信息 ], all: [ 当前urls值 ], index: 点击项的下标} |
外部样式类
外部样式类名 | 说明 |
---|
v-class | 组件外部样式类 |