内容复制功能,复制出来不带格式

背景:SQL复制功能,复制到编辑器中没有格式,很奇怪的是本地环境复制没有问题,但是发布后线上不行。发布线上后不换行。导致SQL没格式。

解决方法:替换当前复制所采用的方法。换如下方法,便可解决。

/**
 * @param {string} val 需要复制的文本
 */
export const CopyTextCommand = (val) => {
  const TextareaDom = document.createElement("textarea");
  TextareaDom.setAttribute("readonly", "readonly");
  TextareaDom.style.width = "0px";
  TextareaDom.style.height = "0px";
  TextareaDom.style.position = "absolute";
  TextareaDom.value = val;
  document.body.appendChild(TextareaDom);
  TextareaDom.select();
  document.execCommand("copy");
  document.body.removeChild(TextareaDom);
};

后追其原因,发现此方法用的是textarea,通过textarea的select去选中的内容。而原方法用的是input。百度区别如下,猜测跟这个有关。但是不能解释为什么本地用的input却能保留格式。


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容