在尝试理解如何在UiBinder中捕获SuggestionBox onchange()事件时,我感到很困惑。
非常感谢任何帮助。以下代码不起作用:
@UiHandler( "singleRuleTemplateLeftSuggestBox" )
void onChangeLeftOperand( ChangeEvent e ) {
for ( OperatorProxy operator : operatorValues ) {
operatorSuggestions.add( operator.getOperatorName() );
}
}
另一次尝试:
singleRuleTemplateLeftSuggestBox.getValueBox().addChangeHandler( new ChangeHandler() {
@Override
public void onChange( ChangeEvent event ) {
System.out.println( singleRuleTemplateLeftSuggestBox.getValue() );
}
} );
答案 0 :(得分:1)
SuggestBox
未实现HasChangeHandlers
接口(仅旧的已弃用SourcesChangeEvents
)。因此,您需要创建一个扩展的SuggestBox
来实现这样的接口,将addChangeHandler()
委托给内部ValueBoxBase<String>
,或者将ChangeHandler
附加到ValueBoxBase<String>
本身(通过suggestBox.getValueBox()
)。