提问者:小点点

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


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

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


共1个答案

匿名用户

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

为了在Vaadin14中实现这一功能,这里有一个插件可以帮助您: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

相关的来源可以在这里找到:https://github.com/ollitietavainenvaadin/clipboardhelper/blob/master/src/main/resources/meta-inf/resources/frontend/clipboard-helper.js