2016-06-29 57 views
1

我試圖做一些粘貼字符串的東西,它的工作原理,但是當我嘗試刪除內容我似乎無法做到,因爲粘貼的內容不是'不受限於輸入模型。Angular 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