我正在尝试通过用户生成的单击在 Vaadin 自定义小部件中设置状态。在实例化服务器 rpc 后的组件连接器中,我得到 GWT 按钮并添加一个 onclick 方法。在我设置状态的方法中 (getState.text = "new text";) 但是当我尝试从服务器端获取它时,我得到了原始状态文本。不会触发 onStateChange 方法。
连接器中的代码:
getWidget().getSaveButton().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
alert("does it work without jquery?");
getState().text = "text changed from connector";
getWidget().getTextBox().setText(getState().text);
}
});
单击 GWT 按钮后,文本框包含文本“从连接器更改的文本”
在该州:
public String text = "original state text";
获取状态的 UI 实现:
vaadinButton.addClickListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
Notification.show(sig.getState().text);
}
});
单击 GWT 按钮后单击 vaadin 按钮时,通知仍显示“原始状态文本”。
我的问题:如何更改连接器中的状态,以便触发 onStateChange 方法并获得服务器端的文本更改?