vue 项目实现复制文本到剪贴板

这篇博客介绍了如何在Vue项目中利用clipboard插件实现文本复制到剪贴板的功能。首先,通过npm安装clipboard插件,然后进行JS封装,最后在main.js中引入并挂载到Vue实例上。示例代码展示了如何在点击按钮时复制收货地址到剪贴板,并处理成功和失败的回调。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用clipboard 插件,实现复制文本到剪贴板

安装 clipboard 插件

	npm install clipboard --save

多处使用这个复制功能,做了个简易的 js 封装

// 复制文本到剪贴板  
import { Message } from "element-ui";
import Clipboard from "clipboard";          //  引入 clipboard 插件

const copy = function (content,className) {
  var Url = content; 
  var clipboard = new Clipboard( className , {
    text: function () {
      return Url;
    }
  });
  clipboard.on("success", e => {
    Message({
      message: "已成功复制到剪切板",
      type: "success"
    });
    // 释放内存
    clipboard.destroy();
  });
  clipboard.on("error", e => {
    // 不支持复制
    Message("该浏览器不支持复制");
    // 释放内存
    clipboard.destroy();
  });
}

export default {
  copy
}

main.js 中引用,并挂载到 vue 实例上

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import "@/assets/style/main.css"

import Clipboard from './util/clipboard'

Vue.use(ElementUI);
Vue.config.productionTip = false

Vue.prototype.$clipboard = Clipboard;

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

使用(举个栗子)

<div>
     <span>收货地址:</span>
     <span>{{ item.name }}</span>
     <span>{{ item.phone }}</span>
     <span>{{ item.address }}</span>
     <i class="el-icon-document-copy copyAdd" @click="copyAddress(item.name, item.phone, item.address)"></i>
</div>
    copyAddress(name, phone, address) {
      let content = name + " " + phone + " " + address;
      this.$clipboard.copy(content, ".copyAdd");

    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值