html - 刷新输入类型文件

标签 html angular typescript file input

我正在开发一个 Angular 项目。

当我导入多个文档时,出现“两个文档”消息。没什么问题。 enter image description here

当我按下我创建的删除按钮时,问题就出现了。 它允许清空我的列表,但显示总是写有“两个文档”

我希望我有这个。就像我们第一次访问该页面时一样(“未选择文件”):

enter image description here

如何在不重新加载页面的情况下重新加载此输入?

我的代码:

html:

<div class="form-group">
          <label for="pj">Pièce jointe</label>
          <div fxLayout="row wrap" fxLayoutAlign="start center">
            <input type="file" name="pj" id="pj" (change)="onFileChange($event)" multiple>
            <button type="button" (click)="clearFile()" class="btn btn-link">
              <i class="fas fa-trash fa-lg"></i>
            </button>
          </div>
        </div>

ts:

 clearFile() {
 this.message.files = null;
 }

谢谢

最佳答案

如果您使用响应式表单,则只需在表单控件上调用 reset() 即可。

组件.html

<form [formGroup]="form">  
  <input type="file" multiple formControlName="files" />
  <button type="button" (click)="clearFile()">
    Delete
  </button>
</form>

组件.ts

form: FormGroup;

ngOnInit() {
  this.form = new FormGroup({
    files: new FormControl('')
  });
}

clearFile() {
  this.form.get('files').reset();
}

演示:https://stackblitz.com/edit/angular-huvm38

关于html - 刷新输入类型文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60759897/

相关文章:

javascript - 在 Canvas 上绘制一个区域

xml - 使用 XSLT 扩展 HTML5 视频元素

javascript - 如何禁用输入验证时出现的弹出窗口 ("Please fill out this field")?

angular - 设置新值时,FormControl 的 valueChanges 不会触发

typescript - 如何根据属性/键设置对象的值

typescript :使用泛型函数获取嵌套对象的值

具有相等运算符的 typescript 泛型类型意味着什么?

javascript - 如何在给定代码中添加另一个日期选择器实例

javascript - 无法使用 getElementByID() 将数据 "innerHTML"添加到 <div> 标记

angular - 如何更正 Angular 为 11 的 Spring Boot 中与 Cors Origin 相关的问题?