博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
input type="file"使用
阅读量:6712 次
发布时间:2019-06-25

本文共 562 字,大约阅读时间需要 1 分钟。

问题:

在实际开发过程中,会遇到上传文件的一些需求。但是使用原生的<input type="file" />在使用中存在一些问题

  • 在未上传文件时,显示"no file choosen",用户界面不友好,不可配置
  • 上传同一个文件,不会触发change事件,即使该文件做过修改
  • 用户如果在上传过程中点击了“取消”,已经上传的文件会被移除

解决思路

在阅读了一些源码之后,总结了如下的解决方案。有点偷梁换柱的意思:

  • 将真正的<input type="file" />隐藏,使用自定义的button通过$refs去触发文件上传,实现自定义显示
  • 文件上传之后,处理完文件,将<input type="file" />value设置为null,这样下次即使上传的是同一个文件,仍然会触发change事件
  • 使用上述方法,点击取消文件被移除,但是不影响页面展示

具体实现

    
Vue
{
{fileName}}
复制代码

感想

遇到问题的时候多去看看别人是怎么写的,借鉴一下,解决问题的同时能够学习很多东西。

转载地址:http://zmalo.baihongyu.com/

你可能感兴趣的文章
小鹏汽车开设六城服务中心,今年内将交付4万辆车,运营200座超充站
查看>>
C++面向对象高级编程(上) 第一周 侯捷
查看>>
Android Dagger2依赖注入
查看>>
FullPage.js全屏插件文档及使用方法
查看>>
修改chrome插件
查看>>
Spring Boot(06)——参数配置机制
查看>>
【WPF】右下角弹出自定义通知样式(Notification)——简单教程
查看>>
keras 使用笔记
查看>>
Android中主要类的继承关系梳理汇总
查看>>
webApp爬坑之路(1)
查看>>
Python发送邮件模块之——yagmail模块
查看>>
Android 分享微信小程序失败二三事
查看>>
SpringBoot通过jar包启动时MyBatis无法定位实体类
查看>>
linux系统常用命令
查看>>
面对霍金的担忧,人工智能会让我们在火星实现定居吗
查看>>
定制一款漂亮的终端
查看>>
timed out waiting for to be synced
查看>>
(5)Python字典
查看>>
mysql问题
查看>>
为何要领域驱动设计
查看>>