我在使用GWT列表框时遇到问题。我有一个例子,用户从listBox中选择一个值,但是如果他们更改了相关字段中的数据,这个值可能会失效。要验证listBox,用户必须选择一个新值,或者通过再次选择相同的值来确认他们的旧选择。我不知道如何确定它们是否选择了相同的值,以便我可以重新设置listBox的样式以使其看起来经过验证。
valueChanged处理程序只检测是否选择了新值。clickHandler和focusHandler经常触发,因为它们是在用户未选择值时触发的。有什么想法吗?
发布于 2012-10-19 08:35:50
您可以使用以下内容来改进clickHandler:
ignoreClick = true;
lastSelection = -1 ;
....
listBox.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (!ignoreClick) {
lastSelection = listBox.getSelectedIndex();
}
ignoreClick = !ignoreClick;
}
});
我试过了,只有当你选择一个项目时,事件才会被触发。但你应该重新考虑你的用户界面,就像上面说的那样。
https://stackoverflow.com/questions/12961595
复制