角度 - 文件输入字段的更改检测仅适用

时间:2018-03-20 00:21:07

标签: javascript angular file input onchange

问题是我有一个文件输入字段,一次只能获取一个文件,我需要它像这样。

如果我尝试上传一个文件,一切都很好。但是,如果我需要上传更多文件,似乎没有调用“更改”处理程序方法,除非我重新加载页面,这不是任何人想要的。

HTML看起来像这样:

<div class="col-xs-7">
    <button
      class="btn btn-primary"
      [disabled]="isLoadingModal"
      (click)="activityFileInput.click()">
    archivo</button> {{ newActivity.fileName }}
    <input
      type="file"
      id="activity-file-input"
      [disabled]="isLoadingModal"
      (change)="selectFile(activityFileInput.files[0])"
      #activityFileInput
      hidden>
  </div>

组件中的功能是:

selectFile(file: File): void {
    console.log('Hello');

    if(file == undefined)
      return;

    this.newActivity.fileName = file.name;
    this.newActivity.file = file;
}

在第一个文件上传“Hello”显示,没问题。但该方法似乎不会被多次调用。怎么解决这个问题?

1 个答案:

答案 0 :(得分:4)

在onclick事件中将输入的值设置为null ...

class A
{
    static std::type_info getClassType
    {
        // What do I do here
    }
};

class B : public A
{

};

B instance;
auto my_type = instance::getClassType()