2017-04-05 8 views
0

Ich habe eine Liste von Texteinträge durch eine Taste gefolgt:So wählen Sie Text in Angular2

<li *ngFor="let match of matches; let i = index"> 
    {{ match}} <button (click)="select(i)">Copy</button> 
</li> 

und ich möchte den Text in die Zwischenablage kopieren, wenn der Benutzer auf die Schaltfläche cliked.

Das funktioniert, aber ich muss irgendwie den Text des entsprechenden Textes zuerst auswählen. Wie kann ich das in Angular2 machen?

+0

Mögliche Duplikat [Auswählen von Text in einem Element (ähnlich mit der Maus zu markieren)] (http://stackoverflow.com/questions/985272/selecting -text-in-einem-Element-ähnlich-Hervorhebung-mit-der-Maus) – YounesM

+0

Mögliches Duplikat von [Wie kann ich in HTML5 in die Zwischenablage kopieren, ohne Flash zu verwenden?] (http://stackoverflow.com/questions/ 26336138/how-can-ich-Copy-to-Zwischenablage-in-HTML5-ohne-Verwendung-Flash) – n00dl3

+0

Die vorgeschlagenen Links alle erfordern jquery oder einige dom Auswahl, um den tatsächlichen Text auszuwählen. Meine Frage ist, wie man das in angular2 macht. – user66875

Antwort

2

Siehe die Antworten in How can I copy to clipboard in HTML5 without using flash?

Die Frage ist alt, aber die Prämisse ist das gleiche. Der Standard verbietet Ihnen, die Zwischenablage des Benutzers ohne ausdrückliche Zustimmung dessen, was kopiert werden soll, zu verwenden. Sie können den Auswahlvorgang nicht überspringen. Die Implementierung variiert von Browser zu Browser, aber es ist fast überall gleich.

mehr lesen: https://developers.google.com/web/updates/2015/04/cut-and-copy-commands

0

Ich habe angular2-clipboard verwendet. Es funktioniert mit Winkelversion 2.0.0 und höher. Ich verwende clipboard.js. Weitere Informationen finden Sie in deren Dokumentation.

Abhängigkeiten

  • Angular ~ 2.0.s0

  • clipboard.js

Verwendung ist wie folgt:

In component.html Datei

<button ngIIclipboard [cbContent]="textToCopy" (cbOnSuccess)="onSuccess($event)" class="bm-action-btn clickToCopyPolicy">Click to copy text</button>

In component.ts Datei

textToCopy = "xyz";