如何在Vaadin Flow中打印?

时间:2019-11-07 17:29:58

标签: vaadin vaadin-flow

我想通过按钮打印出用Vaadin 14创建的主页的内容。

使用Vaadin 8不幸的是不再适用:

Button print = new Button("Print This Page");
print.addClickListener(new Button.ClickListener() {
    public void buttonClick(ClickEvent event) {
        // Print the current page
        JavaScript.getCurrent().execute("print();");
    }
});

有什么想法请在Vaadin14中做到这一点?

1 个答案:

答案 0 :(得分:2)

在Vaadin 10及更高版本中,您可以通过调用Page::executeJs

来运行任意JavaScript。
_ga

您应该可以在其中调用相同的打印功能。参见:Executing JavaScript in the Browser

因此,对于您来说,要打印当前页面:

UI.getCurrent().getPage().executeJs( … )

Vaadin 14.0.12中使用lambda语法的完整示例:

UI.getCurrent().getPage().executeJs( "print();" ) ;