zxNoral

导航

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>      

posted on 2020-06-01 15:00  zxNoral  阅读(751)  评论(1编辑  收藏  举报