码迷,mamicode.com
首页 > Web开发 > 详细

TypeError: Failed to set the 'files' property on 'HTMLInputElement': The provided value is not of type 'FileList'.

时间:2020-01-03 15:37:11      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:value   应该   原因   output   inpu   error:   原来   arp   未能   

    这个标题也是很low了,但是想着大家遇到这个错之后,肯定都想这样直接搜索就找到答案。其实大家应该是和我一样,就是想将type="file"类型的控件置空,或者说reset。如果只是单纯的将value置空,那么虽然没有文件名了,但是files属性值依然在,我在网上搜了不少,终于找到了答案(Posted on 2012-02-22),原文作者发表于2012年啊,jquery时代,到了现在2020年,vue时代了,依然可以解决问题,不得不感叹,真是前人栽树,后人乘凉,谢谢!!

 

    ---------------------问题-introduce[介绍]---------------------------------

    问题描述:在用Vue开发导入文件功能时,想完成导入之后,清空文件的功能,结果清不掉了。

    TypeError: Failed to set the ‘files‘ property on ‘HTMLInputElement‘: The provided value is not of type ‘FileList‘.

    翻译过来是:TypeError:未能在“HTMLInputElement”上设置“files”属性:提供的值不是“FileList”类型。

<input id="impotFiles" type="file" value="1"  ref="impotFiles" @change="importEvent()">
//以下为js代码
//此句会报错,原因是出于安全限制,file 的value 是只读的,只能由用户选择或手动输入,不允许由程序代码设置,所以在JS中修改 file 的 value 会爆出此错误信息。 this.$refs.impotFiles.files = "";

 

 -------------------------------问题-solve[解决]----------------------------------

 

// 清空文件上传控件
// 不能直接用js修改input type=file的value,但可以通过form的reset()清空它的值
// 解决:将input type=file放进一个临时form,清空value,再将它移到原来位置
 this.emptyFileUpload($(‘#impotFiles‘));

// 以下为methods中的方法
 emptyFileUpload(selector) {
      var fi;
      var sourceParent;
      if (selector) {
        fi = $(selector);
        sourceParent = fi.parent();
      }
      else {
          return;
      }
      $("<form id=‘tempForm‘></form>").appendTo(document.body);
      var tempForm = $("#tempForm");
      tempForm.append(fi);
      tempForm.get(0).reset();
      sourceParent.append(fi);
      tempForm.remove();
  }

 

     以上,问题就解决了,虽然仍然用的jquery。。。在vue里用jquery还是感觉怪怪的,怎么用vue来解决这个问题,我还不知道。各位小伙伴~有知道的,记得评论哦~~谢啦!!☆⌒(*^-゜)v

 

 

TypeError: Failed to set the 'files' property on 'HTMLInputElement': The provided value is not of type 'FileList'.

标签:value   应该   原因   output   inpu   error:   原来   arp   未能   

原文地址:https://www.cnblogs.com/slikes/p/12145140.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!