如何将带有'\ n'的文本复制到剪贴板?

时间:2018-11-04 00:14:30

标签: javascript angular typescript

如果我传入单个行字符串参数,则我的copyTextToClipboard可以工作。

但是,如果字符串包含'\ n',则不起作用。

如何复制多行?

  private getProxyList() {
    this.proxies$.subscribe(proxyList => {
      this.proxyList = proxyList.map(proxies => proxies.proxy).join('\n');
      this.copyTextToClipboard(this.proxyList);
    });
  }

  private copyTextToClipboard(val) {
    console.log(val);
    let selBox = document.createElement('textarea');
    selBox.style.position = 'fixed';
    selBox.style.left = '0';
    selBox.style.top = '0';
    selBox.style.opacity = '0';
    selBox.value = val;
    document.body.appendChild(selBox);
    selBox.focus();
    selBox.select();
    document.execCommand('copy');
    document.body.removeChild(selBox);
  }

编辑:

这与我的订阅范围有关。我能够console.log数据,但是无法将其复制到剪贴板。

如果我在订阅之外调用该函数,例如:this.copyTextToClipbooard(“ this \ nString”)可以工作。为何在订阅中无法复制到剪贴板?该如何解决?

0 个答案:

没有答案