我已将Vaadin的Elements add-on合并到我的项目中,并且我有一个简单的登录设置,它有两个输入字段和一个按钮。但是,当用户单击提交按钮时,我遇到了如何获取输入字段值的障碍。
我提交的eventlistener很简单:
button.addEventListener("click", args -> submitLogin());
其中submitLogin()尝试获取值并将它们传递给控制器。
controller.submit(username.getValue(), password.getValue());
但是,我尝试的方法实际上没有返回非null值。有什么想法吗?
纸张输入界面代码:
@Tag("paper-input")
@Import("VAADIN/bower_components/paper-input/paper-input.html")
public interface PaperInput extends Element {
public static PaperInput create(String caption) {
PaperInput input = create();
input.setLabel(caption);
return input;
}
public static PaperInput create() {
return Elements.create(PaperInput.class);
}
}
引用了纸张输入html here
,只需通过调用create()来使用,如下所示:
PaperInput usernameInput = PaperInput.create();
PaperButton的创建方式相同,但引用了@iimport和@Tag中的纸张按钮。
答案 0 :(得分:1)
客户端必须将值绑定到change
。 Lab中有两个例子:
如果您直接创建元素:
input.bindAttribute("value", "change")
或者使用接口方法(您似乎使用):
public void setValue(String value)
@UpdatedBy("change")
public String getValue()
Disclainer:我只是在围绕元素的Groovy DSL上尝试过它。