vue使用一键复制

npm一键复制

    npm install clipboard --save

main.js中引入一键复制

    import clipboard from 'clipboard';
//把一键复制注册到vue原型上
    Vue.prototype.clipboard = clipboard;

例:

    <div class="passWord account">

                <span>账号:</span>

                <span >{{account}}</span>

                <!-- 使用clipboard 进行一键复制,data-clipboard-action="copy" 设置属性为copy 不设置默认为copy -->

                <!-- :data-clipboard-text="account" 设置要复制的变量  -->

                <!-- @click="copy" 点击调用复制函数 :disabled="disabled" 设置禁用属性 复制按钮应为button按钮  -->
				
                <button class="cobyOrderSn" data-clipboard-action="copy" :data-clipboard-text="saccount" @click="copy()" :disabled="disabled">复制</button>

     </div>
            // 一键复制函数

        copy(flag) {

            // 改变this的使用方式为_this

            const _this = this

            // 新建一个复制实例

            var clipboard = new this.clipboard('.cobyOrderSn')

            // 复制成功后 执行回调函数

            clipboard.on('success', function (val) {

                // 判断复制的值与实际的值是否一致,一致认定成功,不一致认定失败

                if(val.text == _this.account) {

                    console.log('复制成功');

                }else {

                   console.log('复制失败');

                }

                // val.text 为复制的值

                // console.log(val.text,_this.account)

                // 设置按钮的禁用属性为true

                _this.disabled = true;

                // 定义一个定时器 时间为3秒

                setTimeout(() => {

                    // 设置按钮的禁用属性为false

                    _this.disabled = false

                    // 销毁实例防止多次触发

                    clipboard.destroy()

                }, 3000)

            })

        },
        ```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值