Use the click
event to pass the text to the handling function, in this case copyToClipboard(bookmark.location)
<span class="btn-light btn-sm" (click)="copyToClipboard(bookmark.location)" title="Copy link to clipboard">
<i class="far fa-copy copy-link"></i><span class="copy-btn-text">{{copyLinkButtonText}}</span>
</span>
To programmatically copy a string use the Clipboard
which service copies text to the user's clipboard.
We use a setTimeout
to visually inform the user for a brief moment that the copy was successful
import { Clipboard } from '@angular/cdk/clipboard';
export class BookmarkListElementComponent {
copyLinkButtonText = '';
constructor(private router: Router,
private clipboard: Clipboard) {}
copyToClipboard(location: string) {
const copied = this.clipboard.copy(location);
if (copied) {
this.copyLinkButtonText = ' Copied';
setTimeout(() => this.copyLinkButtonText = '', 1300);
}
}
}
See it in action at www.codever.land:
See the reference link (official docs) how to use it for longer texts.
Reference -
https://material.angular.io/cdk/clipboard/overview
Shared with ❤️ from Codever. Use 👉 copy to mine functionality to add it to your personal snippets collection.
Top comments (0)