VAADIN - 按钮 |在 HTML Layout-Script 中实现

Posted

技术标签:

【中文标题】VAADIN - 按钮 |在 HTML Layout-Script 中实现【英文标题】:VAADIN - Button | implement in HTML Layout-Script 【发布时间】:2018-05-05 22:32:45 【问题描述】:

是否有机会在 html 脚本中使用 Vaadin 按钮?

我喜欢使用下面的按钮

Button button_login = ew Button();
button_login.setID("buttonlogin");

这个按钮应该在下面的脚本中实现

<div data-location="buttonlogin"></div>

(只是一个想法)

有。在 html 脚本中绑定按钮的想法?

谢谢!

【问题讨论】:

如果你想从 Vaadin 生成 HTML,一个简单的开始就是使用 LabelContent.HTML(注意 XSS)。如果您打算做其他事情,请在问题中添加一些内容。什么是“html脚本”和“html布局脚本”? 【参考方案1】:

我很不确定您所说的 html 脚本 是什么意思。如果这是您可以使用 javascript 实现的,那么这是我的尝试。

一般在按钮点击时执行 JavaScript

Button js = new Button("Do JavaScript");
js.addClickListener( click ->  
   com.vaadin.ui.JavaScript.getCurrent().execute("alert(´Hello´)");
 );

当需要使用外部.js文件时,例如hello.js,内容如下

function hello() 
   alert("Hello JavaScriptWorld!");

假设hello.js直接在/VAADIN/目录下,在UI或相关组件类中添加以下注解

@JavaScript("vaadin://hello.js") // all paths must be relative to /VAADIN

那么在ClickListener你可以参考function hello()like

com.vaadin.ui.JavaScript.getCurrent().execute("hello()");

【讨论】:

【参考方案2】:

Java @com.vaadin.annotations.JavaScript("vaadin://themes/paastheme/layouts/ui/donut/donut.js") public class BrowsePeopleUI extends UI

我把JS文件放到:

src/main/resources/VAADIN/themes/paastheme/layouts/ui/donut/donut.js

我的 donut.js 是:

Javascript var util = util || ; util.donut = () => console.log(document.querySelectorAll("[data-svg]"));

【讨论】:

以上是关于VAADIN - 按钮 |在 HTML Layout-Script 中实现的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 vaadin 按钮显示不正确?

具有自定义内容的 Vaadin 选项卡

如何在 Vaadin 7 中制作一对单选按钮来表示 True/False 值但本地化文本?

Vaadin 14 单选按钮组将自定义字符串显示为选项

如何在点击Vaadin画布上的提交按钮时填写文本?

在 Vaadin 应用程序中发出哔声