ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vue.js3:使用clipboard.js实现复制到剪贴板()

2022-07-05 18:35:34  阅读:257  来源: 互联网

标签:复制到 剪贴板 vue liuhongdi js clipboard https com


一,安装clipboard.js

1,官网:
https://clipboardjs.com/
代码地址
https://github.com/zenorocha/clipboard.js
在npmjs的地址
https://www.npmjs.com/package/clipboard
2,安装
liuhongdi@lhdpc:/data/vue/axios$ npm install clipboard --save
 
added 5 packages in 3s
3,查看已安装的库的版本
liuhongdi@lhdpc:/data/vue/axios$ npm list clipboard
axios@0.1.0 /data/vue/axios
└── clipboard@2.0.11

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/
或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,js代码

 html:
  <div style="width:800px;margin: auto;">
    <el-input v-model="rgb" placeholder="Please input" readonly="readonly">
      <template #prepend >RGB</template>
      <template #append>
        <el-icon class="copyColor" @click="copy('rgb')" style="vertical-align: middle;">
          <CopyDocument />
        </el-icon>
      </template>
    </el-input>
    <el-input v-model="hex" placeholder="Please input" readonly="readonly" style="margin-top: 10px;">
      <template #prepend>十六进制</template>
      <template #append>
        <el-icon class="copyColor" @click="copy('hex')" style="vertical-align: middle;">
          <CopyDocument />
        </el-icon>
      </template>
    </el-input>
  </div>

js:

import Clipboard from 'clipboard'
...

    //复制颜色值到剪贴板
    const copy = (type) => {
      let clipboard = new Clipboard('.copyColor', {
        text: function () {
          //返回要复制的文本
          if (type == 'rgb') {
            return rgb.value;
          } else {
            return hex.value;
          }
        }
      })
      clipboard.on('success', () => {
        ElMessage.success('复制成功');
        //释放内存
        clipboard.destroy()
      })
      clipboard.on('error', () => {
        ElMessage.error('复制失败');
        //释放内存
        clipboard.destroy()
      })
    }

三,测试效果

 

四,查看vue.js框架的版本: 

liuhongdi@lhdpc:/data/vue/child$ npm list vue
child@0.1.0 /data/vue/child
├─┬ @vue/cli-plugin-babel@5.0.6
│ └─┬ @vue/babel-preset-app@5.0.6
│   └── vue@3.2.37 deduped
└─┬ vue@3.2.37
  └─┬ @vue/server-renderer@3.2.37
    └── vue@3.2.37 deduped

 

标签:复制到,剪贴板,vue,liuhongdi,js,clipboard,https,com
来源: https://www.cnblogs.com/architectforest/p/16447992.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有