Skip to content

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>

属性

名称类型默认值说明可选值
sizeStringmini组件尺寸large(大尺寸), medium(中尺寸), small(小尺寸), mini(迷你)
typeString""组件类型info(信息), primary(正常), error(错误), warning(警告), success(成功)
disabledBooleanfalse组件是否禁用false, true
stopBooleanfalse是否阻止事件冒泡(Tui统一写法处理事件冒泡)false, true
hoverBooleantrue是否有点击效果false, true
pathString""点击组件后跳转的页面路径,如果为空则响应点击事件,如果不为空则跳转页面不会响应单击事件。-
mainClassString""组件根节点的样式-
nativeClassString""组件根节点原生样式-
effectString"normal"组件显示主题normal(正常), dark(深色), light(浅色), plain(镂空)
sizeTypestring[][]original 原图,compressed 压缩图,默认二者都有, App平台不支持original : 原图
compressed: 压缩图
fileTypeStringall选择文件的类型,可选all: 默认值,选择本地文件,包含图片和视频
image: 选择图片文件
video: 选择视频文件
audio: 选择音频文件
countNumber9最大选择数量
modelValueUTSJSONObject[][]选择的文件列表
sourceTypeany``

事件

名称返回参数说明
change-选择文件列表发生变化时触发

插槽

名称返回值说明
name-
default-