在OA系统的项目中,用到了文件上传,同时需要把用户信息传给后端,需要绑定data属性,data属性为对象类型,方法如下:
html:
<template slot="imgUrlForm"
slot-scope="scope">
<!-- 文件上传 -->
<el-upload class="upload-demo"
action="/admin/file/upload/workflow"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:data="username"
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small"
type="primary">点击上传
</el-button>
</el-upload>
</template>
js:
data() {
return {
username: {}
},
computed: {
...mapGetters(['permissions', 'userInfo']),
},
mounted() {
this.username.username = this.userInfo.username
},
method:{
// 上传
handleRemove(file, fileList) {
console.log(file, fileList)
},
handlePreview(file) {
console.log(file)
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${
files.length
} 个文件,共选择了 ${files.length + fileList.length} 个文件`
)
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`)
},
}