0

我今天遇到了这个问题,我想我可能需要一些帮助。我们使用的是 1.6.1 版本的 Dojo,但这是跨版本问题。

重现以下问题的步骤非常简单:

  1. 单击过滤选择的 dojo 文档链接dijit.form.FilteringSelect
  2. 在文档页面上,单击第一个 FilteringSelect 示例
  3. 在 Codeglass 窗口示例中,单击过滤选择并将“x”添加到“California”,从而使其变为无效状态
  4. 集中注意力时,删除“x”字母。问题来了。从技术上讲,该值是正确的,但 dijit 仍然处于错误状态(除非它失去焦点)。我想让 dijit 立即做出反应并正确渲染我删除了导致无效状态的字符而不会失去焦点。

任何解决方法的想法?

谢谢你。

4

1 回答 1

1

好的。对于其他感兴趣的人来说,解决方案“非常”简单,只需使用 dijit.form.FilteringSelect._refreshState() 。下划线前缀可能不是某人的一杯茶,但这是使其处于正确状态的唯一方法。

在我们的例子中,这有点棘手,因为我们使用的是包装在我们自己的对象中的 dojox.data.QueryReadStore,并且我需要在连接到继承的 fetch() 方法的 onComplete 事件时找到正确的触发器。

于 2012-04-19T03:49:54.677 回答