若是直接使用表单提交数据,在 submit 以后会从新跳转到 action 指定的路径,若是不想跳转页面而且获取表单提交成功的数据,就必须使用 ajax 请求提交表单数据。html
html 文件ios
<form id='formfile'> <input type="file" name="multi_upload[]" ref="upload" id="upload" multiple webkitdirectory="" onchange="selectFolder"> </form> <el-progress type="circle" :percentage="process"></el-progress> // 本次 demo 使用 element ui
js 文件web
let formfile = document.getElementById('formfile') let formData = new FormData(formfile) let config = { headers: { 'Content-Type': 'multipart/form-data' }, onUploadProgress: (progressEvent) => { // 使用本地 progress 事件 if (progressEvent.lengthComputable) { let num = Math.round((progressEvent.loaded / progressEvent.total) * 100) this.process = num // 使用某种 UI 进度条组件会用到的百分比 } } } axios.post('/upload', formData, config).then((res) => { console.log(res) })
1. display: none; 没法点击 2. visibility:hidden; 没法点击 3. 设置透明度 opacity: 0; 能够点击
使用 Dialog 的 before-close 属性ajax
<el-dialog title="上传" :visible.sync="uploadDialog" width="50%" center :close-on-click-modal="false" :before-close="closeDialog" > </el-dialog>