2

我在使用 GWT 列表框时遇到问题。我有一种情况,用户从列表框中选择一个值,但如果他们更改相关字段中的数据,它可能会失效。要验证列表框,用户必须选择一个新值,或者通过再次选择相同的值来确认他们的旧选择。我不知道如何确定他们是否选择了相同的值,以便我可以重新设置 listBox 的样式以使其看起来经过验证。

valueChanged 处理程序仅检测是否选择了新值。clickHandler 和 focusHandler 触发太频繁,因为它们在用户未选择值时触发。有任何想法吗?

4

1 回答 1

2

您可以通过以下方式改进 clickHandler:

     ignoreClick = true;
     lastSelection =  -1 ;
            ....
    listBox.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            if (!ignoreClick) {
                lastSelection = listBox.getSelectedIndex();
            }
            ignoreClick = !ignoreClick;     
        }
    });

我试过了,只有在您选择了一个项目时才会触发该事件。但是你应该重新考虑你的用户界面,就像上面所说的那样。

于 2012-10-19T08:35:50.440 回答