uview-next
Version:
基于uView UI 2.0,110+高质量组件库,支持vue2和vue3,支持鸿蒙,支持多语言,搭配便捷工具助力,让开发更得心应手
144 lines (142 loc) • 3.81 kB
JavaScript
import { defineProps } from '../../libs/util/props';
import theme from '../../libs/config/theme.js';
export default defineProps('upload', {
// 接受的文件类型, 可选值为all media image file video
accept: {
type: String,
default: 'image'
},
// 根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。例如['.zip','.exe','.js'],不支持application/msword等类似值
extension: {
type: Array,
default: () => []
},
// 图片或视频拾取模式,当accept为image类型时设置capture可选额外camera可以直接调起摄像头
capture: {
type: [String, Array],
default: () => ['album', 'camera']
},
// 当accept为video时生效,是否压缩视频,默认为true
compressed: {
type: Boolean,
default: true
},
// 当accept为image时生效,图片压缩参数,值为false不压缩
compressImage: {
type: [Boolean, Object],
default: () => ({
quality: 80,
compressedWidth: 1000
})
},
// 当accept为video时生效,可选值为back或front
camera: {
type: String,
default: 'back'
},
// 当accept为video时生效,拍摄视频最长拍摄时间,单位秒
maxDuration: {
type: Number,
default: 60
},
// 上传区域的图标,只能内置图标
uploadIcon: {
type: String,
default: 'camera-fill'
},
// 上传区域的图标的颜色,默认
uploadIconColor: {
type: String,
default: theme.lightColor
},
// 是否开启文件读取前事件
useBeforeRead: {
type: Boolean,
default: false
},
// 读取后的处理函数
afterRead: {
type: [Function, null],
default: null
},
// 读取前的处理函数
beforeRead: {
type: [Function, null],
default: null
},
// 是否显示组件自带的图片预览功能
previewFullImage: {
type: Boolean,
default: true
},
// 最大上传数量
maxCount: {
type: [String, Number],
default: 52
},
// 是否启用
disabled: {
type: Boolean,
default: false
},
// 预览上传的图片时的裁剪模式,和image组件mode属性一致
imageMode: {
type: String,
default: 'aspectFill'
},
// 标识符,可以在回调函数的第二项参数中获取
name: {
type: String,
default: ''
},
// 所选的图片的尺寸, 可选值为original compressed
sizeType: {
type: Array,
default: () => ['original', 'compressed']
},
// 是否开启图片多选,部分安卓机型不支持
multiple: {
type: Boolean,
default: false
},
// 是否展示删除按钮
deletable: {
type: Boolean,
default: true
},
// 文件大小限制,单位为byte
maxSize: {
type: [String, Number],
default: Number.MAX_VALUE
},
// 显示已上传的文件列表
fileList: {
type: Array,
default: () => []
},
// 上传区域的提示文字
uploadText: {
type: String,
default: ''
},
// 内部预览图片区域和选择图片按钮的区域宽度
width: {
type: [String, Number],
default: 80
},
// 内部预览图片区域和选择图片按钮的区域高度
height: {
type: [String, Number],
default: 80
},
// 是否在上传完成后展示预览图
previewImage: {
type: Boolean,
default: true
},
// 是否显示圆角
round: {
type: [String, Number],
default: 0
}
})