You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用插件的情况下在Vaadin中实现文本复制到剪贴板

简单实现文本复制功能:避开复杂组件的实用方案

我之前花了大量时间尝试让各种目录组件正常工作,结果把原本简单的文本复制需求搞得复杂又难用。最后索性换了思路,在项目中引入了一段JavaScript函数,用非常直接的方式就实现了需求。

这个方法和其他方案一样,需要由你项目里的其他组件来触发(比如按钮点击、菜单选择之类的,触发方式完全可以根据自己的需求来选)。下面是具体的实现代码,希望能帮大家节省不必要的折腾时间:

void copyText(String text){
    Page page = UI.getCurrent().getPage();
    page.executeJavaScript( "var el = document.createElement('textarea');" +
                           "el.value = $0;" +
                           "el.setAttribute('readonly', '');" +
                           "el.style = {" +
                           " position: 'absolute'," +
                           " left: '-9999px'" +
                           "};" +
                           "document.body.appendChild(el);" +
                           "el.select();" +
                           "document.execCommand('copy');" +
                           "document.body.removeChild(el);", text);
}

内容的提问来源于stack exchange,提问作者LanDanois

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 14:52:27