vue3实现一键复制\剪切内容

借助clipboard.js

下载
npm install clipboard --save
引入
import Clipboard from 'clipboard';
HTML

在dom上使用data-clipboard-text属性绑定要复制的内容

如果需要实现剪切 则在dom上添加 data-clipboard-action=‘cut’ 即可;

<el-button type="primary" id="textArea" :data-clipboard-text="contentVal" @click="copyContent()">复制</el-button>
JS

使用clipboard.on方法监听成功或失败回调

// 一键复制 文件内容
const copyContent = (id: number, link: string) => {
    
    
      const clipboard = new Clipboard(`#textArea`); // 获取dom
      clipboard.on('success', () => {
    
     // 成功回调
        ElMessage({
    
    
          type: 'success',
          message: '复制成功',
        });
        clipboard.destroy(); // 销毁多余的clipboard定义 否则会重复提示成功
      });
      clipboard.on('error', () => {
    
     // 失败回调
        ElMessageBox.confirm(
          `请手动复制:\n${
      
      link}`,
          {
    
    
            confirmButtonText: '确定',
            showCancelButton: false,
            type: 'info',
          },
        );
        clipboard.destroy();
      });
    };

猜你喜欢

转载自blog.csdn.net/weixin_53058401/article/details/128565775
今日推荐