复制到 vaadin 14 中的剪贴板组件

kus*_*dev 2 java vaadin vaadin-flow

我想复制到 vaadin 14 中的剪贴板组件,否则我该如何准备?

我想在 Vaadin 中编写一个按钮来复制特定 Vaadin 小部件(如 TextField)的文本内容,将该文本放置在操作系统的剪贴板上,以便用户稍后可以将该文本粘贴到其他地方,可能是另一个应用程序中

oll*_*nen 5

一些背景:浏览器可以有点保护什么样的内容可以以编程方式复制到剪贴板。为了在所有浏览器中保持操作功能,复制的内容必须来自 DOM 中的可见元素,并且复制到剪贴板操作必须作为用户操作的直接结果发生,例如鼠标单击或键盘事件. 换句话说,您不能只执行一个简单的 JavaScript 函数来将内容复制到剪贴板。

要使其在 Vaadin 14 中工作,这里有一个附加组件可以帮助您:https : //vaadin.com/directory/component/clipboardhelper/overview

用法示例:

        Button button = new Button("click this button to copy some stuff to the clipboard");
        ClipboardHelper clipboardHelper = new ClipboardHelper("some stuff", button);
        add(clipboardHelper); // ClipboardHelper wraps the Button
Run Code Online (Sandbox Code Playgroud)

相关资源可以在这里找到:https : //github.com/OlliTietavainenVaadin/clipboardhelper/blob/master/src/main/resources/META-INF/resources/frontend/clipboard-helper.js