mirror of
https://gitee.com/vant-contrib/vant-weapp.git
synced 2025-05-21 22:09:16 +08:00
parent
57e3d09938
commit
087e0a5da8
@ -67,7 +67,7 @@
|
|||||||
"less": "^3.9.0",
|
"less": "^3.9.0",
|
||||||
"less-loader": "^5.0.0",
|
"less-loader": "^5.0.0",
|
||||||
"lint-staged": "^9.2.5",
|
"lint-staged": "^9.2.5",
|
||||||
"miniprogram-api-typings": "2.7.7-2",
|
"miniprogram-api-typings": "2.10.4",
|
||||||
"postcss-loader": "^3.0.0",
|
"postcss-loader": "^3.0.0",
|
||||||
"progress-bar-webpack-plugin": "^1.11.0",
|
"progress-bar-webpack-plugin": "^1.11.0",
|
||||||
"style-loader": "^1.0.0",
|
"style-loader": "^1.0.0",
|
||||||
|
@ -86,7 +86,7 @@ Page({
|
|||||||
{
|
{
|
||||||
url: 'https://img.yzcdn.cn/vant/leaf.jpg',
|
url: 'https://img.yzcdn.cn/vant/leaf.jpg',
|
||||||
statue: 'uploading',
|
statue: 'uploading',
|
||||||
message: '上传中',
|
message: '上传中'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
url: 'https://img.yzcdn.cn/vant/tree.jpg',
|
url: 'https://img.yzcdn.cn/vant/tree.jpg',
|
||||||
@ -186,29 +186,39 @@ uploadFilePromise(fileName, chooseResult) {
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
| 参数 | 说明 | 类型 | 默认值 |
|
||||||
| ------------------ | ---------------------------------------------------------------------------------------------- | -------------------- | --------------------------- | ---- |
|
| ------------------ | ---------------------------------------------------------------------------------------------- | -------------------- | --------------------------- |
|
||||||
| name | 标识符,可以在回调函数的第二项参数中获取 | _string \| number_ | - | - |
|
| name | 标识符,可以在回调函数的第二项参数中获取 | _string \| number_ | - |
|
||||||
| accept | 接受的文件类型, 可选值为`all` `image` `file` `video` | _string_ | `image` | - |
|
| accept | 接受的文件类型, 可选值为`all` `media` `image` `file` `video` | _string_ | `image` |
|
||||||
| sizeType | 所选的图片的尺寸, 当`accept`为`image`类型时设置所选图片的尺寸可选值为`original` `compressed` | _string[]_ | `['original','compressed']` | - |
|
| sizeType | 所选的图片的尺寸, 当`accept`为`image`类型时设置所选图片的尺寸可选值为`original` `compressed` | _string[]_ | `['original','compressed']` |
|
||||||
| preview-size | 预览图和上传区域的尺寸,默认单位为`px` | _string \| number_ | `80px` | - |
|
| preview-size | 预览图和上传区域的尺寸,默认单位为`px` | _string \| number_ | `80px` |
|
||||||
| preview-image | 是否在上传完成后展示预览图 | _boolean_ | `true` | - |
|
| preview-image | 是否在上传完成后展示预览图 | _boolean_ | `true` |
|
||||||
| preview-full-image | 是否在点击预览图后展示全屏图片预览 | _boolean_ | `true` | - |
|
| preview-full-image | 是否在点击预览图后展示全屏图片预览 | _boolean_ | `true` |
|
||||||
| multiple | 是否开启图片多选,部分安卓机型不支持 | _boolean_ | `false` | - |
|
| multiple | 是否开启图片多选,部分安卓机型不支持 | _boolean_ | `false` |
|
||||||
| disabled | 是否禁用文件上传 | _boolean_ | `false` | - |
|
| disabled | 是否禁用文件上传 | _boolean_ | `false` |
|
||||||
| show-upload | 是否展示文件上传按钮 | _boolean_ | `true` | - |
|
| show-upload | 是否展示文件上传按钮 | _boolean_ | `true` |
|
||||||
| deletable | 是否展示删除按钮 | _boolean_ | `true` | - |
|
| deletable | 是否展示删除按钮 | _boolean_ | `true` |
|
||||||
| capture | 图片或者视频选取模式,当`accept`为`image`类型时设置`capture`可选值为`camera`可以直接调起摄像头 | _string \| string[]_ | `['album', 'camera']` | - |
|
| capture | 图片或者视频选取模式,当`accept`为`image`类型时设置`capture`可选值为`camera`可以直接调起摄像头 | _string \| string[]_ | `['album', 'camera']` |
|
||||||
| disabled | 是否禁用文件上传 | _boolean_ | `false` | - |
|
| disabled | 是否禁用文件上传 | _boolean_ | `false` |
|
||||||
| max-size | 文件大小限制,单位为`byte` | _number_ | - | - |
|
| max-size | 文件大小限制,单位为`byte` | _number_ | - |
|
||||||
| max-count | 文件上传数量限制 | _number_ | - | - |
|
| max-count | 文件上传数量限制 | _number_ | - |
|
||||||
| upload-text | 上传区域文字提示 | _string_ | - | - |
|
| upload-text | 上传区域文字提示 | _string_ | - |
|
||||||
| image-fit | 预览图裁剪模式,可选值参考小程序`image`组件的`mode`属性 | _string_ | `scaleToFill` | - |
|
| image-fit | 预览图裁剪模式,可选值参考小程序`image`组件的`mode`属性 | _string_ | `scaleToFill` |
|
||||||
| use-before-read | 是否开启文件读取前事件 | _boolean_ | - | - |
|
| use-before-read | 是否开启文件读取前事件 | _boolean_ | - |
|
||||||
| camera | 当 accept 为 `video` 时生效,可选值为 `back` `front` | _string_ | - | - |
|
| camera | 当 accept 为 `video` 时生效,可选值为 `back` `front` | _string_ | - |
|
||||||
| compressed | 当 accept 为 `video` 时生效,是否压缩视频,默认为`true` | _boolean_ | - | - |
|
| compressed | 当 accept 为 `video` 时生效,是否压缩视频,默认为`true` | _boolean_ | - |
|
||||||
| max-duration | 当 accept 为 `video` 时生效,拍摄视频最长拍摄时间,单位秒 | _number_ | - | - |
|
| max-duration | 当 accept 为 `video` 时生效,拍摄视频最长拍摄时间,单位秒 | _number_ | - |
|
||||||
| upload-icon | 上传区域图标,可选值见 [Icon 组件](#/icon) | *string* | `plus` | - |
|
| upload-icon | 上传区域图标,可选值见 [Icon 组件](#/icon) | _string_ | `plus` |
|
||||||
|
|
||||||
|
#### accept 的合法值
|
||||||
|
|
||||||
|
| 参数 | 说明 |
|
||||||
|
| ------- | ------------------------------ |
|
||||||
|
| `media` | 图片和视频 |
|
||||||
|
| `image` | 图片 |
|
||||||
|
| `video` | 视频 |
|
||||||
|
| `file` | 除了图片和视频之外的其它的文件 |
|
||||||
|
| `all` | 所有文件 |
|
||||||
|
|
||||||
### Slot
|
### Slot
|
||||||
|
|
||||||
|
@ -48,40 +48,54 @@ export function chooseFile({
|
|||||||
maxCount
|
maxCount
|
||||||
}): Promise<
|
}): Promise<
|
||||||
| WechatMiniprogram.ChooseImageSuccessCallbackResult
|
| WechatMiniprogram.ChooseImageSuccessCallbackResult
|
||||||
|
| WechatMiniprogram.ChooseMediaSuccessCallbackResult
|
||||||
| WechatMiniprogram.ChooseVideoSuccessCallbackResult
|
| WechatMiniprogram.ChooseVideoSuccessCallbackResult
|
||||||
| WechatMiniprogram.ChooseMessageFileSuccessCallbackResult
|
| WechatMiniprogram.ChooseMessageFileSuccessCallbackResult
|
||||||
> {
|
> {
|
||||||
if (accept === 'image') {
|
switch (accept) {
|
||||||
return new Promise((resolve, reject) => {
|
case 'image':
|
||||||
wx.chooseImage({
|
return new Promise((resolve, reject) => {
|
||||||
count: multiple ? Math.min(maxCount, 9) : 1, // 最多可以选择的数量,如果不支持多选则数量为1
|
wx.chooseImage({
|
||||||
sourceType: capture, // 选择图片的来源,相册还是相机
|
count: multiple ? Math.min(maxCount, 9) : 1, // 最多可以选择的数量,如果不支持多选则数量为1
|
||||||
sizeType,
|
sourceType: capture, // 选择图片的来源,相册还是相机
|
||||||
success: resolve,
|
sizeType,
|
||||||
fail: reject
|
success: resolve,
|
||||||
|
fail: reject
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
case 'media':
|
||||||
}
|
return new Promise((resolve, reject) => {
|
||||||
if (accept === 'video') {
|
wx.chooseMedia({
|
||||||
return new Promise((resolve, reject) => {
|
count: multiple ? Math.min(maxCount, 9) : 1, // 最多可以选择的数量,如果不支持多选则数量为1
|
||||||
wx.chooseVideo({
|
sourceType: capture, // 选择图片的来源,相册还是相机
|
||||||
sourceType: capture,
|
maxDuration,
|
||||||
compressed,
|
sizeType,
|
||||||
maxDuration,
|
camera,
|
||||||
camera,
|
success: resolve,
|
||||||
success: resolve,
|
fail: reject
|
||||||
fail: reject
|
});
|
||||||
|
});
|
||||||
|
case 'video':
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
wx.chooseVideo({
|
||||||
|
sourceType: capture,
|
||||||
|
compressed,
|
||||||
|
maxDuration,
|
||||||
|
camera,
|
||||||
|
success: resolve,
|
||||||
|
fail: reject
|
||||||
|
});
|
||||||
|
});
|
||||||
|
default:
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
wx.chooseMessageFile({
|
||||||
|
count: multiple ? maxCount : 1, // 最多可以选择的数量,如果不支持多选则数量为1
|
||||||
|
type: 'file',
|
||||||
|
success: resolve,
|
||||||
|
fail: reject
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
wx.chooseMessageFile({
|
|
||||||
count: multiple ? maxCount : 1, // 最多可以选择的数量,如果不支持多选则数量为1
|
|
||||||
type: 'file',
|
|
||||||
success: resolve,
|
|
||||||
fail: reject
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isFunction(val: unknown): val is Function {
|
export function isFunction(val: unknown): val is Function {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user