Description
版本号:
2.0.2
问题描述:
这样的场景:
有个界面用到的上传组件jupload,有一个问题,就是如果在添加的时候上传了文件,或者点击编辑的时候有已经上传的文件,那么下次再点击增加新的记录的时候,上传文件列表会保留上次上次的文件列表;
截图&代码:
问题截图:
第一次点击新增,弹出新增界面:
没问题!
点击文件上传:
保存,
然后再点击新增界面:
还是上次上传后的界面
原因在于Jupload.vue控件在监听value编号的时候,对于value为空,处理有问题
initFileList(paths){ if(!paths || paths.length==0){ return ; } let fileList = []; let arr = paths.split(",") for(var a=0;a<arr.length;a++){ fileList.push({ uid:uidGenerator(), name:getFileName(arr[a]), status: 'done', url: this.urlDownload+arr[a], response:{ status:"history", message:arr[a] } }) } this.fileList = fileList },
应该在判断长度为0的时候增加以下代码:
initFileList(paths){ if(!paths || paths.length==0){ **this.fileList = [];** return ; } let fileList = []; let arr = paths.split(",") for(var a=0;a<arr.length;a++){ fileList.push({ uid:uidGenerator(), name:getFileName(arr[a]), status: 'done', url: this.urlDownload+arr[a], response:{ status:"history", message:arr[a] } }) } this.fileList = fileList },
Activity
chengtg commentedon Jul 31, 2019
这个问题在初始化的时候,改成initFileList(paths){
if(!paths || paths.length==0){
//return [];
// update-begin- --- author:os_chengtgen ------ date:20190729 ---- for:issues:326,Jupload组件初始化bug
this.fileList = [];
return;
// update-end- --- author:os_chengtgen ------ date:20190729 ---- for:issues:326,Jupload组件初始化bug
}
依旧还会保留上次文件记录,是由于
「这样的场景:
有个界面用到的上传组件jupload,有一个问题,就是如果在添加的时候上传了文件,或者点击编辑的时候有已经上传的文件,那么下次再点击增加新的记录的时候,上传文件列表会保留上次上次的文件列表;」
是因为在点关闭页面的时候,表单中依旧存在上次文件,将文件传递给了JUpload控件,
为了能在编辑的时候有已经上传的文件后再次添加不出现上次文件,可以采用下面方法
;在引用JUpload.vue页面:添加 watch:{
visible:{
handler(newValue){
// 弹出框关闭的时候,把页面内容清空
if (!newValue)
{
this.form.resetFields();
this.historyValue=[] //文件清空
}
},
immediate: true
}
},
或者:在点击编辑方法edit (record) {
}中重置该JUpload.vue 的v-model的变量。如this.fileList=[];
解决bug:关于Jupload组件的上传后再进行新增会保留上次的上传结果的问题 #326
zhangdaiscott commentedon Jul 31, 2019
代码已上传