这是我的输入标签的样子:
<input type="file" placeholder="File Name" name="filename" (change)="onChange($event)"> <button>Reset</button>
我想在Angular 2中重置所选文件.非常感谢帮助.如果您需要更多详细信息,请告诉我们.
附:
您可以使用ViewChild访问组件中的输入.首先,您需要将#someValue添加到输入中,以便您可以在组件中读取它:
<input #myInput type="file" placeholder="File Name" name="filename" (change)="onChange($event)">
然后在组件中,您需要从@ angular / core导入ViewChild:
import { ViewChild } from '@angular/core';
然后使用ViewChild访问模板的输入:
@ViewChild('myInput') myInputVariable: ElementRef;
现在您可以使用myInputVariable重置所选文件,因为它是对#myInput输入的引用,例如create button reset()将在按钮的click事件中调用:
reset() { console.log(this.myInputVariable.nativeElement.files); this.myInputVariable.nativeElement.value = ""; console.log(this.myInputVariable.nativeElement.files); }
第一个console.log将打印您选择的文件,第二个console.log将打印一个空数组,因为this.myInputVariable.nativeElement.value =“”;从输入中删除选定的文件.我们必须使用this.myInputVariable.nativeElement.value =“”;要重置输入的值,因为输入的FileList属性是只读的,所以不可能只从数组中删除项.这里工作Plunker.