Step 1: Install ngx-clipboard
Install the ngx-clipboard library using npm
npm install ngx-clipboard
Step 2: Import ClipboardModule
In your Angular module, import the ClipboardModule:
// your-module.module.ts
import { ClipboardModule } from 'ngx-clipboard';
@NgModule({
imports: [
// other imports
ClipboardModule,
],
// other module properties
})
export class YourModule { }
Step 3: Update Component HTML
Update your component's HTML file:
<!-- your-component.component.html -->
<button (click)="copyToClipboard()">{{ buttonText }}</button>
Step 4: Update Component TypeScript
Update your component's TypeScript file:
// your-component.component.ts
import { Component } from '@angular/core';
import { ClipboardService } from 'ngx-clipboard';
@Component({
selector: 'app-your-component',
templateUrl: './your-component.component.html',
styleUrls: ['./your-component.component.css']
})
export class YourComponent {
buttonText = 'Copy';
constructor(private clipboardService: ClipboardService) {}
copyToClipboard() {
const numberToCopy = this.obj.number;
// Use clipboard service to copy the content
this.clipboardService.copyFromContent(numberToCopy);
// Change button text to "Copied!" for 2 seconds
this.buttonText = 'Copied!';
setTimeout(() => {
// Revert button text to "Copy" after 2 seconds
this.buttonText = 'Copy';
}, 2000);
}
}
Step 5: Add CSS (Optional)
You can add some styling to enhance the visual feedback. For example, you might want to change the button color when it's in the "Copied!" state. Update your component's CSS file:
/* your-component.component.css */
button.copied {
background-color: lightgreen;
/* Add any additional styling you want for the "Copied!" state */
}
No comments:
Post a Comment