2016-06-29 3 views
1

貼り付けられた文字列を使っていくつかの処理をしようとしていますが、コンテンツを削除しようとすると、貼り付けられたコンテンツisn '入力のモデルに縛られている。角2入力からペーストされたコンテンツを削除する方法

貼り付けたコンテンツの入力をクリアするにはどうすればよいですか?

モデルにコンテンツをバインドしてモデルを削除しようとしましたが、実際の貼り付けられたコンテンツはイベントオブジェクトに残っているため、解決策ではありません。

input.value = ''を使用して直接入力をクリアすることもできますが、運がないとします。

マークアップ:

<input #input [(ngModel)]="newTag[labelKey]" (paste)="onPaste($event)"> 

機能:

onPaste(e: any) { 

    let content = e.clipboardData.getData('text/plain'); 

    // Do stuff 

    // Then clear pasted content from the input 
} 

答えて

9

クリアあなたがモデルをバインド変数:呼び出すときに、テキストが入力にとどまる何らかの理由で

onPaste(e: any) { 

    let content = e.clipboardData.getData('text/plain'); 

    // Do stuff 

    setTimeout(() => { 
    this.newTag = ""; 
    }, 0); 
} 

this.newTag = ""と同時に、this.newTag = "foo"に設定すると、入力のテキストはfooPASTEDTEXT


取り組ん例えば

Plunker

+0

はすでにこれを試みたが、それは動作しません。 – Chrillewoodz

+0

変更検出などを呼び出す必要があるのでしょうか?私はすでにそれを行った後、全体のモデル値を放出しますが。 – Chrillewoodz

+0

私の更新された回答を参照 – rinukkusu

関連する問題