【发布时间】:2012-10-01 08:59:23
【问题描述】:
我有一个自定义 ComboBox,当用户键入时,值是从 web 服务加载的。如果没有找到值,我想将组合框重置为空值。但是,如果组合框已使用某些预选值初始化,则此方法不起作用。如果我调用comboBox.select("") 甚至comboBox.setValue(null),则会显示先前的预选值,即使我调用removeAllItems。这对我来说听起来像是一个组合框错误,但也许有人知道解决方法。
【问题讨论】:
我有一个自定义 ComboBox,当用户键入时,值是从 web 服务加载的。如果没有找到值,我想将组合框重置为空值。但是,如果组合框已使用某些预选值初始化,则此方法不起作用。如果我调用comboBox.select("") 甚至comboBox.setValue(null),则会显示先前的预选值,即使我调用removeAllItems。这对我来说听起来像是一个组合框错误,但也许有人知道解决方法。
【问题讨论】:
comboBox.setValue(null) 应该可以工作,只需确保将组合框设置为立即 (comboBox.setImmediate(true)) 并且不要将空选择 id 指定为某些东西(例如:comboBox.setNullSelectionItemId("null"))。
【讨论】:
requestRepaint() 呼叫没有帮助?
也许是浏览器从其内存中填充输入?尝试清理缓存并形成记录值。
【讨论】: