Angular 2 – INPUT元素类型FILE的重置值

前端之家收集整理的这篇文章主要介绍了Angular 2 – INPUT元素类型FILE的重置值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在angular2应用程序中,我有一个无辜的html INPUT元素(类型FILE),我用它来选择一个文件.这是那个人

<input #selectedImage id="selectImage" type="file" name="image" (change)="imageSelected($event)">

一旦用户点击“重置”按钮,我需要能够重置选择.
如果我使用@ViewChild装饰器并通过代码操作输入元素,我可以很容易地做到这一点,即

@ViewChild('selectedImage') selectedImageFile;

reset() {
    this.selectedImageFile.nativeElement.value = '';
}

现在我想通过属性绑定做同样的事情,在这里我找到了障碍.我按如下方式更改代码

<input id="selectImage" type="file" name="image" value={{selectedImageFile}} (change)="imageSelected($event)">

reset() {
        this.selectedImageFile = '';
}

但现在没有任何作用(即当我点击重置按钮时,INPUT元素的选择不会被清除).我相信我错过了一些非常微不足道的东西但是,有时会发生,我的眼睛现在已经失明了.任何帮助,将不胜感激.

解决方法

我不知道为什么它最初不起作用,但它无论如何都不适用于连续调用,因为你需要将selectedImageFile设置为值!=”以便Angular识别更改.

在第一次重置()之后它将是”,并且每次连续的调用都将被忽略,因为没有变化.

将其设置为值!=”会抛出错误,因为< input type =“file”>不允许以编程方式设置与”不同的值.

猜你在找的Angularjs相关文章