实际开发中,ant design vue的上传组件的使用
html
<div class="right" v-if="$store.state.user.userDesc.id === '1'">
<img :src="saveUploadImage || currentData.pictureUrl || defaultService" />
<a-upload
accept=".png,.jpg,.jpeg"
:showUploadList="false"
:file-list="fileList"
:before-upload="beforeUploadFile"
:customRequest="customRequest"
@change="handleChange"
:multiple="false"
style="width: 100%;text-align:center;display: inline-block;margin-top:25px;" >
<a-button type="link">上传/重新上传 </a-button>
</a-upload>
</div>
逻辑层
import defaultService from '@/assets/img/share/defaultService.png'
import {uploadImage} from '@/api/shareCenter/index.js'
export default {
name: "ServiceInfo",
props : ['currentData'],
data() {
return {
defaultService,
fileList : [],
saveUploadImage : null
}
},
components: {
},
methods: {
handleChange({ file, fileList }) {
this.fileList = fileList
},
beforeUploadFile (f, l) {
const isLt20M = f.size / 1024 / 1024 < 20
if(!isLt20M) {
this.$message.error(f.name + '文件大小超出限制,请修改后重新上传')
return false
} else {
return true
}
},
customRequest(data) {
const formData = new FormData();
formData.append('file',data.file),
uploadImage(this.currentData.id,formData).then(res=>{
if(res.data.success) {
this.saveUploadImage = res.data.data
} else {
this.$message.error('上传失败')
}
})
}
}
};
官网ant-design for Vue