zoukankan      html  css  js  c++  java
  • Copy 复制数据功能 clipboard

    copy 复制数据功能

    使用了 clipboard 

    1、给copy按钮绑定clipboard

    <el-button
           ref="dataCopy"
           data-clipboard-action="copy"
           :data-clipboard-text="copyText"
           @click="copyLink"
           class="copyBtn"
           >COPY</el-button
            >
    
    
    let clipboard = new Clipboard(".copyBtn");

    2、定义copy函数,拼header 和 数据

    export function copyClipboardSetting(header: [], content: any) {
      // Copy Clipboard Setting
      let text = "";
      // ヘッダー
      for (let i = 0; i < header.length; i++) {
        const headerStr = header[i];
        if (i == 0) {
          text = text + headerStr;
        } else {
          text = text + '	' + headerStr;
        }
      }
      text = text + '
    ';
      // データ
      text += content
      return text
    }

    3、在使用的vue页面定义好当前的表头,以及拼接成带 换行数据

    const tableHeaders = [
          "表头1",
          "表头2",
          "表头3",
          "表头4",
          "Amount",
          "単価",
          "SP",
        ];
    
    
    // 调用接口得到数据dataList后
    
     // copy data 
           content = dataList.value
                .map(
                  (item) =>
                    `${item.param1}	${item.param2}	${item.param3}	${item.param4}	${item.param5}	${item.param6}	${item.amount}	${item.unit}	${item.sp}`
              )
            .join("
    ");
      // 调用copy方法,把数据和表头作为参数传递过去 
           copyText.value = copyClipboardSetting(tableHeaders, content);

    4、定义copy方法

     // コピー
        const copyLink = () => {
          clipboard.on("success", function () {
            ElMessage.success("コピー成功");
            clipboard.destroy();
            clipboard = new Clipboard(".copyBtn");
          });
          clipboard.on("error", function () {
            ElMessage.error("コピー失敗");
            clipboard.destroy();
            clipboard = new Clipboard(".copyBtn");
          });
        };

    5、使用完毕之后,切换其他页面,要把其销毁,否则会影响到其他页面

    onBeforeUnmount(() => {
          clipboard.destroy();
        });
  • 相关阅读:
    NOIP模拟测试17
    C++11下的关键字
    Tyvj 1518 CPU监控(线段树)
    单身三连之三
    论求解线性方程
    单身三连之二
    单身三连之一
    20190719总结
    卡常
    论突变为零(不定更新)
  • 原文地址:https://www.cnblogs.com/rabbit-lin0903/p/15178745.html
Copyright © 2011-2022 走看看