FileManager (文件选择)
文件管理选择上传组件是一款用于便捷上传、管理和分享文件支持返回文件md5,用于服务端判断重复上传,上传逻辑需要自己实现
支持平台
安卓 | ios | 鸿蒙 | web | 微信小程序 |
---|---|---|---|---|
√ | √ | √ | √ | √ |
示例代码
html
<template>
<t-page title='文件管理器' main-class="p-30">
<t-card main-class="mtb-30 tdr tdb" title="文件管理器-文件选择"
sub-title="文件管理选择上传组件是一款用于便捷上传、管理和分享文件支持返回文件md5,用于服务端判断重复上传"></t-card>
<t-section title="基础使用" main-class="tdr tdb mb-30"></t-section>
<t-file-manager type="p" v-model="fiellist" main-class="tdr tdb mb-30 p-20"
@change="fileChange"></t-file-manager>
<t-section title="插槽自定义布局" main-class="tdr tdb mb-30"></t-section>
<t-file-manager v-model="fiellist1" main-class="tdr tdb mb-30 p-20" @change="fileChange">
<template #menu>
<t-button type="s">上传合同</t-button>
</template>
<template #default="{files}">
<t-row main-class="faic mt-20 ptb-30 fjcb" v-for="(item,index) in (files as UTSJSONObject[])"
:key="index">
<t-icon type='s' main-class="mr-10" name="integral"></t-icon>
<t-text type='s'>{{item.name}}</t-text>
</t-row>
</template>
</t-file-manager>
</t-page>
</template>
<script>
export default {
data() {
return {
fiellist: [{
name: '驾驶证'
}, {
name: '身份证',
}] as UTSJSONObject[],
fiellist1: [{
name: '合同一',
}, {
name: '合同二',
}] as UTSJSONObject[]
};
},
methods: {
fileChange(e : UTSJSONObject[]) {
console.log(e)
//上传逻辑
// const choose : ChooseImageSuccess = {
// errSubject: "",
// errMsg: "",
// tempFilePaths: [] as string[],
// tempFiles: [] as any[]
// }
// e-forEach((item : TuiFilesList) => {
// choose-tempFilePaths-push(item-realFilePath)
// // #ifdef WEB
// choose-tempFiles-push(item-file)
// // #endif
// })
// console-log(choose)
// uploadFileOptions(choose)-then(rst => {
// console-log(rst)
// })
}
}
}
</script>
属性
名称 | 类型 | 默认值 | 说明 | 可选值 |
---|---|---|---|---|
size | String | mini | 组件尺寸 | large(大尺寸), medium(中尺寸), small(小尺寸), mini(迷你) |
type | String | "" | 组件类型 | info(信息), primary(正常), error(错误), warning(警告), success(成功) |
disabled | Boolean | false | 组件是否禁用 | false, true |
stop | Boolean | false | 是否阻止事件冒泡(Tui统一写法处理事件冒泡) | false, true |
hover | Boolean | true | 是否有点击效果 | false, true |
path | String | "" | 点击组件后跳转的页面路径,如果为空则响应点击事件,如果不为空则跳转页面不会响应单击事件。 | - |
mainClass | String | "" | 组件根节点的样式 | - |
nativeClass | String | "" | 组件根节点原生样式 | - |
effect | String | "normal" | 组件显示主题 | normal(正常), dark(深色), light(浅色), plain(镂空) |
sizeType | string[] | [] | original 原图,compressed 压缩图,默认二者都有, App平台不支持 | original : 原图compressed : 压缩图 |
fileType | String | all | 选择文件的类型,可选 | all : 默认值,选择本地文件,包含图片和视频image : 选择图片文件video : 选择视频文件audio : 选择音频文件 |
count | Number | 9 | 最大选择数量 | |
modelValue | UTSJSONObject[] | [] | 选择的文件列表 | |
sourceType | any | `` |
事件
名称 | 返回参数 | 说明 |
---|---|---|
change | - | 选择文件列表发生变化时触发 |
插槽
名称 | 返回值 | 说明 |
---|---|---|
name | - | |
default | - |