2012-04-18 2 views
0

Сегодня я столкнулся с этой проблемой, и мне кажется, мне может понадобиться помощь. Мы используем версию Dojo 1.6.1, но это проблема с перекрестной версией.Dojo: FilteringSelect: проблемы с возвратом в правильное состояние

Шаги по воспроизведению следующий вопрос довольно прост:

  1. нажмите на ссылку додзё DOC для фильтрации Выбор dijit.form.FilteringSelect
  2. На странице документации, выберите первый образец FilteringSelect
  3. В образце окна Codeglass , выберите filteringselect и добавьте «x» в «California», таким образом доведя его до недопустимого состояния.
  4. Сфокусировавшись, удалите букву «x». и здесь возникает проблема. Технически значение правильное, но dijit по-прежнему похож на состояние ошибки (если только он не теряет фокус). Я бы хотел, чтобы dijit реагировал и визуализировал правильно сразу. Я удаляю символ, вызывающий недопустимое состояние, не теряя фокуса.

Любые идеи об обходном пути?

спасибо.

ответ

1

ok. для eveyryone еще интересовало, что решение было «довольно простым», просто используйте dijit.form.FilteringSelect._refreshState(). Префикс подчёркивания может быть не чашкой чая, но это был единственный способ получить его в правильном состоянии.

В нашем случае это было немного сложно, поскольку мы использовали dojox.data.QueryReadStore, завернутый в наш собственный объект, и мне нужен соответствующий триггер, который я нашел при подключении к событию onComplete унаследованного метода fetch() ,