Vue组件封装之一键复制文本到剪贴板


前言

  为了提高组件的复用性,所以利用插件vue-clipboard2,封装组件CopyDialog以实现一键复制文本到剪贴板的功能。

安装

npm install --save vue-clipboard2

插件的使用(引入)

import Vue from 'vue'
import VueClipboard from 'vue-clipboard2'

Vue.use(VueClipboard)

组件的封装 copyDialog.vue

 1 <template>
 2   <div>    
 3     <slot name="content"></slot>
 4     <span class="copyContent" v-show="info" @click="$_copyInfo(info)">复制</span>
 5   </div>
 6 </template>
 7 
 8 <script>
 9 export default {
10   name: 'copyDialog',
11   props: {
12     info: {
13       type: [Number, String],
14       default: '',
15     },
16   },
17   methods: {
18     $_copyInfo(info) {
19       this.$copyText(info).then(() => {
20         this.$message.success('复制成功');
21       }, () => {
22         this.$message.error('复制失败');
23       });
24     },
25   },
26 };
27 </script>
28 
29 <style lang="less">
30   .copyContent {
31     cursor: pointer;
32     color: #357ef6;
33   }
34 </style>

  参数的解释:info 要复制的文本,类型是String/Number

组件的使用

import CopyDialog from 'xxx/CopyDialog';

<CopyDialog info="information"></CopyDialog>      


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM