1

我有一个 GWT 列表框。我的验证代码查询 ListBox 的选定索引是否为 -1(我的 ListBox 的默认状态)。如果我不触摸 ListBox,getSelectedIndex() 会按预期返回 -1。如果我将鼠标悬停在 ListBox 项目上但不单击一个(即单击外部),则 getSelectedIndex() 返回非 (-1) index。我希望它返回 -1 ,除非我单击 ListBox 项并且 ListBox 会自行更新以反映该选择。

我该怎么办?

4

1 回答 1

0

您将无法以<select>一种很好的方式使用本机元素,因为浏览器确定所选元素是什么,而不是 GWT。换句话说,这就是<select>工作原理。

您必须创建自己的选择小部件(出于样式原因,这可能是首选小部件)或发挥创意并在现有小部件旁边拼凑一些东西。您可以将单击处理程序添加到 ListBox 并“手动”将所选索引设置为 -1,但您必须确定用户是否取消他的操作并在之后恢复选择。您必须从自定义代码中抑制选择事件,因为您可能不希望应用程序的其余部分对您的新 -1 hack 做出反应。啊! 可能最容易以不同的方式处理这个问题。

于 2012-06-19T15:11:53.197 回答