[解決済み] Angular 2で入力タグのファイルタイプで選択されたファイルをリセットする方法は?
質問
入力タグはこんな感じです。
<input type="file" placeholder="File Name" name="filename" (change)="onChange($event)">
<button>Reset</button>
Angular 2で選択したファイルをリセットしたいです。ヘルプは非常に高く評価されます。詳細が必要であれば教えてください。
追伸
私はファイルの詳細を
$event
パラメータからファイルの詳細を取得し、typescript変数に保存することができますが、この変数はinputタグにバインドされていません。
どのように解決するのですか?
この場合
ViewChild
を使用して、コンポーネント内の入力にアクセスすることができます。まず最初に
#someValue
を入力に追加して、コンポーネントで読み込めるようにします。
<input #myInput type="file" placeholder="File Name" name="filename" (change)="onChange($event)">
次に、コンポーネントの中で、インポートする必要があります
ViewChild
から
@angular/core
:
import { ViewChild } from '@angular/core';
次に
ViewChild
を使ってテンプレートからの入力にアクセスします。
@ViewChild('myInput')
myInputVariable: ElementRef;
これで
myInputVariable
で入力への参照なので、選択されたファイルをリセットするために
#myInput
であるため、選択したファイルをリセットします。
reset()
で呼び出される
click
イベント時に呼び出されます。
reset() {
console.log(this.myInputVariable.nativeElement.files);
this.myInputVariable.nativeElement.value = "";
console.log(this.myInputVariable.nativeElement.files);
}
まず
console.log
は選択したファイルを印刷し、2番目の
console.log
は空の配列を表示します。
this.myInputVariable.nativeElement.value = "";
は選択されたファイルを入力から削除するからです。そのため
this.myInputVariable.nativeElement.value = "";
を使って入力の値をリセットする必要があります。なぜなら、入力の
FileList
属性は
読み出し専用
であるため、配列から項目を削除することはできません。以下は、動作中の
プランカー
.
関連
-
[解決済み] Angular:*ngClassを使った条件付きクラス
-
[解決済み] Angularで@Input()の値が変更されたときに検出する方法は?
-
[解決済み] ng buildの後にangular-cliのdist-folderのパスを変更するには?
-
[解決済み] Angular 2: 反応するフォームコントロールの反復処理
-
[解決済み] パイプ ' ' が見つかりません。
-
[解決済み] Angular 2のFormGroupからすべての検証エラーを取得する
-
[解決済み] angular4 / typescriptでdocument.getElementByIdの置き換え?
-
[解決済み] Angular / Angular Materialでmat-horizontal-stepperのステップをプログラムで移動させることは可能ですか?
-
[解決済み] Angular2 DIRECTIVEは要素の既知のプロパティではないので、バインドできません。
-
[解決済み] Angular2 formGroupに値を設定する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] val()を使ってselectの値を設定しても、jqueryのchangeイベントが発生しないのはなぜですか?
-
[解決済み] Angular 2におけるEventEmitter.next()とEventEmitter.emit()の相違点
-
[解決済み] コンポーネントクラスからテンプレート参照変数にアクセスする
-
[解決済み] Angular 4+ ngOnDestroy() サービス中 - observableを破壊する
-
[解決済み] ng2 - ng-containerタグとng-templateタグの違い
-
[解決済み] 簡単なパイプで小数点以下2桁に制限する
-
[解決済み] 文字列|ヌル'型の引数は、文字列'型のパラメータに代入できません。タイプ 'null' はタイプ 'string' に割り当てられません。
-
[解決済み] 新しいangularプロジェクトを作成する際に依存関係ツリーエラーを解決できない
-
[解決済み] FormGroupから単一の値を取得する方法
-
[解決済み] Angular2 DIRECTIVEは要素の既知のプロパティではないので、バインドできません。