日常开发记录-elementUI 文件上传假删除,防止删除文件后后悔的操作,无需调用后端删除文件接口+表格数据前端假删除,最后直接把剩余的整个数组对象传给后端接口即可...

此篇博客关键是记录这种假删除的思想,后端给的删除接口也不一定非要用。。。

上传文件假删除:

<template>
  <div>
    <el-upload
        class="upload-demo"
        action="https://jsonplaceholder.typicode.com/posts/"
        :on-preview="handlePreview"
        :on-remove="handleRemove"
        :before-remove="beforeRemove"
        multiple
        :limit="3"
        :on-exceed="handleExceed"
        :file-list="fileList">
      <el-button size="small" type="primary">点击上传</el-button>
      <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
    </el-upload>
  </div>
</template>
<script>
export default {
  data () {
    return {
      fileList: [{ name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' }, { name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' }]
    }
  },
  methods: {
    handleRemove (file, fileList) {
      // 文件即可假删除,无需调用后端接口
      this.fileList = 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}?`)
    }
  }
}
</script>

表格数据假删除:更适合于数据不是很多的表格,无分页的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用Spring Boot和EasyExcel实现下载表格接口的示例代码: ```java @RestController @RequestMapping("/download") public class DownloadController { @GetMapping("/excel") public void downloadExcel(HttpServletResponse response) throws IOException { // 获取数据,这里数据为一个List<User>对象 List<User> userList = getUserList(); // 设置响应头 response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-disposition", "attachment;filename=test.xlsx"); // 创建ExcelWriter对象 OutputStream outputStream = response.getOutputStream(); ExcelWriter excelWriter = new ExcelWriter(outputStream, ExcelTypeEnum.XLSX, true); // 写入数据 Sheet sheet = new Sheet(1, 0, User.class); excelWriter.write(userList, sheet); // 关闭ExcelWriter对象 excelWriter.finish(); // 关闭输出流 outputStream.flush(); outputStream.close(); } private List<User> getUserList() { // 返回一个List<User>对象,这里省略具体实现 } } ``` 这段代码中,我们首先定义了一个DownloadController类,其中包含一个downloadExcel()方法,用于下载Excel表格。在这个方法中,我们首先设置了响应头,包括Content-Type、Content-Encoding和Content-Disposition等字段,用于告诉浏览器下载的文件类型、编码和文件名。然后,我们创建了一个ExcelWriter对象,并写入数据最后,我们通过response的getOutputStream()方法获取输出流,并将Excel表格写入到输出流中,完成下载。 对于前端部分,我们可以使用Vue和Element UI框架来实现一个下载文件的button,代码如下: ```vue <template> <el-button type="primary" icon="el-icon-download" @click="downloadExcel">下载Excel表格</el-button> </template> <script> export default { methods: { downloadExcel() { window.location.href = '/download/excel'; } } } </script> ``` 在这段代码中,我们使用了Element UI中的el-button组件来实现一个下载Excel表格的button,当用户点击该button时,会调用downloadExcel()方法。在这个方法中,我们使用window.location.href来实现下载文件的功能,将请求发送给后端的/download/excel接口即可最后,需要注意的是,在后端使用response传输字节流时,需要及时关闭输出流,避免资源的浪费。在上面的示例代码中,我们通过flush()和close()方法来关闭输出流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值