1.开发环境 vue2
2.电脑系统 windows11专业版
3.在开发的过程中,咱们会须要应用到上传的组件;当有多个页面须要应用到上传的时候就比拟麻烦;咱们能够再次封装。
4.废话不多说,间接上代码:
// 创立 vueFileUpload.vue文件<template> <el-upload action="" :on-change="(file, fileList)=>{FileChange(file, fileList,{type:FileUploadType})}" :show-file-list="false" :multiple="IsMultiple" :auto-upload="false" accept=".txt" ref="fileUpload" > </el-upload></template><script>export default { name: "vueFileUpload", props:{ // 文件上传 FileChange:{ default() { return function () {} ; } }, // 是否多选 IsMultiple :{ default () { return true; } }, FileUploadType:{ default () { return "Single"; } } }, computed:{ dataChange () { const {IsMultiple} = this; return {IsMultiple}; } }, watch:{ dataChange:{ handler(newValue,oldValue) { // console.log("监听到了数据的变动",newValue); this.$refs.fileUpload.$children[0].$refs.input.webkitdirectory = newValue.IsMultiple ? true : false; }, deep: true } },};</script>
5.在页面中应用办法如下:
// 导入 VueFileUpload组件import VueFileUpload from "./vueFileUpload.vue";
<el-button type="primary" size="small" @click="FileClick('Some')">多个上传</el-button><el-button type="primary" size="small" @click="FileClick('Single')">单个上传</el-button><VueFileUpload :FileChange="FileChange" :IsMultiple="IsMultiple" ref="VueFileUploadRef" :FileUploadType="FileUploadType" />
// return IsMultiple:false,FileUploadType:'Single',
// methodsFileClick (type) { // console.log(type); this.FileUploadType = type == 'Single' ? "Signle" : "Some";// 是否多选 this.IsMultiple = type == 'Single' ? false : true; // 是否上传文件夹 this.$refs.VueFileUploadRef.$refs.fileUpload.$children[0].$refs.input.webkitdirectory = type == 'Single' ? false : true;// 通过refs 触发抉择文件办法 this.$refs.VueFileUploadRef.$refs.fileUpload.$refs['upload-inner'].handleClick();}
6.本期的分享到了这里就完结啦,心愿对你有所帮忙;让咱们一起致力走向巅峰。