VUE 复制内容至剪切板

32 篇文章 0 订阅

--------------------Talk is cheap-------------------------------------

let inputElement = document.createElement('input')
inputElement.value = 'xxxx'
document.body.appendChild(inputElement)
inputElement.select()
document.execCommand('Copy')
inputElement.remove()

--------------------历史版本-------------------------
复制内容至剪切板使用的是插件’vue-clipboard2’,通过官方文档会发现共有两种使用方式。
第一种方式与大多数文章类似,只粘贴代码:

<template>
  <div class="container">
    <input type="text" v-model="message">
    <button type="button"
            v-clipboard:copy="message"
            v-clipboard:success="onCopy"
            v-clipboard:error="onError">Copy!</button>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        message: 'Copy These Text',
      }
    },
    methods: {
      onCopy: function (e) {
        alert('You just copied: ' + e.text)
      },
      onError: function (e) {
        console.log(e)
        alert('Failed to copy texts')
      }
    }
  }
</script>

这种使用方式直接将变量内容复制至剪切板,暂时没有找到处理数据后再复制的方式,这时就需要使用第二种方式。

第二种方式:

<template>
  <div class="container">
    <input type="text" v-model="message">
    <button type="button" @click="doCopy('add me!')">Copy!</button>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        message: 'Copy These Text'
      }
    },
    methods: {
      dataProcessing (val) {
        this.message = this.message + ' ' + val
      },
      doCopy: function (val) {
        this.dataProcessing(val)
        this.$copyText(this.message).then(function (e) {
          alert('Copied')
          console.log(e)
        }, function (e) {
          alert('Can not copy')
          console.log(e)
        })
      }
    }
  }
</script>

通过这段示例代码能看到,复制动作使用的是VUE响应函数方式,这就为复制前控制数据提供了可能!

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值