美文网首页
vue在移动端实现复制数值到剪贴版

vue在移动端实现复制数值到剪贴版

作者: 哒哒哒哒da | 来源:发表于2019-11-04 15:40 被阅读0次
    实现按键指定内容复制到设备的剪贴版

    引入clipboard.js

    npm install clipboard --save
    

    封装JS

    import Vue from 'vue';
    import Clipboard from 'clipboard';
    
    function clipboardSuccess() {
      Vue.prototype.$message({
        message: '复制成功',
        type: 'success',
        duration: 1500,
      });
    }
    
    function clipboardError() {
      Vue.prototype.$message({
        message: '复制失败',
        type: 'error',
      });
    }
    
    export function handleClipboard(text, event, onSuccess, onError) {
      event = event || {};
      const clipboard = new Clipboard(event.target, {
        text: () => text,
      });
      clipboard.on('success', () => {
        onSuccess ? onSuccess() : clipboardSuccess();
        clipboard.off('error');
        clipboard.off('success');
        clipboard.destroy();
      });
      clipboard.on('error', () => {
        onError ? onError() : clipboardError();
        clipboard.off('error');
        clipboard.off('success');
        clipboard.destroy();
      });
      clipboard.onClick(event);
    }
    
    

    HTML

    <span class="coinHttp">
        <span>{{name}}</span>
        <img   src="..//XXXX.png"   @click="copy" />
     </span>
    

    JS

    import {handleClipboard} from '../js/clipboard';
    methods: {
      copy() { 
          handleClipboard(this.express.number, event, () => {
            alert('单号已经复制在剪贴版')
          }, () => {
            alert('单号复制失败!')
          })
      },
    }
    
    注:还有更简单的方法,可自行研究

    相关文章

      网友评论

          本文标题:vue在移动端实现复制数值到剪贴版

          本文链接:https://www.haomeiwen.com/subject/hsjdbctx.html