• 周五. 7月 1st, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

Copy 复制数据功能 clipboard

admin

11月 28, 2021

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();
    });

发表评论

您的电子邮箱地址不会被公开。