DEV Community

Cover image for How to copy to clipboard with angular material
Adrian Matei for Codever

Posted on Edited on Originally published at codever.dev

How to copy to clipboard with angular material

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>


Enter fullscreen mode Exit fullscreen mode

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);
    }

  }
}


Enter fullscreen mode Exit fullscreen mode

See it in action at www.codever.land:

Copy-to-clipboard-demo

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)