:on-remove="handleRemove"上传文件方法一没有生效可以使用数组的 `filter` 方法

98 阅读1分钟
:on-remove="handleRemove"上传文件方法一没有生效可以使用数组的 `filter` 方法来优化从 `this.addForm.fileList` 中删除文件的操作。
方法一:
 handleRemove(file, fileList) {
      console.log('删除前',this.addForm.file);
      console.log(fileList);
      this.addForm.file = file.raw;
      console.log('删除后',this.addForm.file);
    },
方法二:
 handleRemove(file, fileList) {
  // console.log('删除前的文件列表:', this.addForm.fileList);
  // console.log('当前文件列表:', fileList);

  // 使用 filter 方法从 this.addForm.fileList 中移除被删除的文件
  this.addForm.fileList = this.addForm.fileList.filter(item => item !== file);

  // 更新 this.addForm.file
  if (fileList.length > 0) {
    this.addForm.file = fileList[0].raw; // 或者根据实际情况调整,例如 fileList[0].raw
  } else {
    this.addForm.file = null; // 如果没有文件了,可能需要将 this.addForm.file 设置为 null 或者其他合适的值
  }

  // console.log('删除后的文件列表:', this.addForm.fileList);
  // console.log('当前 addForm.file:', this.addForm.file);
},
-   使用 `filter` 方法创建一个新的数组,该数组包含所有不等于被删除文件 `file` 的元素。

-   根据删除后的 `fileList` 更新 `this.addForm.file`,确保它指向删除后的第一个文件(如果有文件的话)的原始文件对象。