zoukankan      html  css  js  c++  java
  • vue中使用clipboard.js复制分本

    依赖clipboard.js二次开发vue插件CopyText

    首先

    npm install clipboard --save-dev

    在项目中创建plugin文件夹和CopyText.js

     CopyText.js

    //拷贝插件 kay
    // import iView from 'iview';
    import Clipboard from 'clipboard';
    let CopyText = new Object();
    CopyText.install = function (Vue, options) {
        console.log(Vue, '拷贝')
        // 4. 添加实例方法
        // text,    要copy的文本
        // success, 成功回调函数
        // error    失败回调函数
        Vue.prototype.$CopyText = function (text, success, error) {
            // 逻辑...
            let oCopyBtn = document.createElement('button');
            oCopyBtn.setAttribute('id', 'copy-btn');
            oCopyBtn.setAttribute('data-clipboard-text', text);
            document.body.appendChild(oCopyBtn);
            var clipboard = new Clipboard('#copy-btn');
            clipboard.on('success', e => {
                success(e);
                // console.log('复制成功');
                // iView.Message.success(`复制成功!`);
                // 释放内存
                clipboard.destroy();
                //移除节点
                document.body.removeChild(oCopyBtn);
            });
            clipboard.on('error', e => {
                error(e);
                // 不支持复制
                //console.log('该浏览器不支持自动复制')
                // iView.Message.error(`复制失败!`);
                // 释放内存
                clipboard.destroy();
                //移除节点
                document.body.removeChild(oCopyBtn);
            });
            //模拟点击
            oCopyBtn.click();
        }
    };
    
    export default CopyText;
    View Code

    在main.js中使用插件

    import CopyText from './plugin/CopyText';
    //...你的其它代码
    Vue.use(CopyText);

    使用方法

    在其他.vue文件中

          //复制 点击某个按钮 执行 this.$CopyText函数即可
         //示例代码
         handleCopy(params){
            this.$CopyText(要拷贝的文本, (e)=>{
                   //something to do 
                //this.$Message.success('复制成功!') //例:iview ui框架的提示
            }, (e)=>{
                    //something to do 
            //this.$Message.error('复制失败!')
            });
          },  

    希望可以帮到你!

  • 相关阅读:
    spring整合freemarker 自定义标签
    curl 取不到第二个参数解决方法
    solr5.5教程-solr.home 配置
    solr5.5教程-schema.xml部分配置
    solr5.5教程-solrconfig.xml,加载schema.xml
    solr5.5教程-tomcat布署(2)
    solr5.5教程-tomcat布署
    jsp页面el表达式不起作用
    spring+hibernate--直接修改数据库,再通过hibernate查询数据不变
    13 hbase连接
  • 原文地址:https://www.cnblogs.com/taohuaya/p/12407898.html
Copyright © 2011-2022 走看看