在 reactJS 中,如何将文本复制到剪贴板?

新手上路,请多包涵

我正在使用 ReactJS,当用户单击链接时,我想将一些文本复制到剪贴板。

我使用的是 Chrome 52,不需要支持任何其他浏览器。

我不明白为什么这段代码不会导致数据被复制到剪贴板。 (代码片段的来源来自 Reddit 帖子)。

我做错了吗?任何人都可以建议使用reactjs实现复制到剪贴板的“正确”方法吗?

copyToClipboard = (text) => {
  console.log('text', text)
  var textField = document.createElement('textarea')
  textField.innerText = text
  document.body.appendChild(textField)
  textField.select()
  document.execCommand('copy')
  textField.remove()
}

原文由 Duke Dougal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 956
1 个回答

如果您想以编程方式将数据写入剪贴板,请在按钮上使用这个简单的内联 onClick 函数。

 onClick={() => {navigator.clipboard.writeText(this.state.textToCopy)}}

原文由 Gary Vernon Grubb 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题