Flex: автозаповнення текстових полів
Лютий 14, 2010 Автор: adminВ даній статті мова піде про готові рішення для реалізації автозаповнення текстових полів у Flex. Звичайно можна реалізувати даний функціонал самостійно, але я пішов іншим шляхом. Так, як я є новачком в програмуванні на Flex та й затрачений час потрібно мінімізувати, то зупинився на використанні готових компонент.
Серед таких я виділю:
- AutoComplete Input від Adobe (компонент розповсюджується безкоштовно). В архіві, окрім самого компонента, є також детальна документація на англійській.

Рис.1. Ілюстрація роботи компонента Adobe AutoComplete.
Даний компонент, розроблявся ще під Flex 2 і має один bug, принаймні у Flex 3. Суть помилки така: якщо ви вибираєте критерій так, щоб залишився лише один елемент, то при натисканні на <Enter> чи просто клацнувши мишею по єдиному елементу списку, ви втрачаєте запропоноване значення. А правильно було б, щоб це значення заносилося в поле. Але не я перший про це зауважив, тому є рішення цієї помилки від Єнса Краузе (Jens Krause).
- AutoComplete Input від Adobe + модифікація від Єнса Краузе (Flex-розробник, фрілансер). Детальніше про неї можна почитати на його блозі, а точніше в статті «Quick tip: Avoid issues using Adobes AutoComplete Input component using Flex 3». Модифікація дуже проста, зводиться до 10 нових рядків коду.
- Компонент AutoComplete від Гілеля Корена (Hillel Coren). Можливостей в даного компоненту значно більше, ніж у першого. Є два різновиди: AutoComplete and AdvancedAutoComplete (розширений, дозволяє запихати в підказку не лише текст, але й інші компоненти). Принцип роботи добре видно на демонстраційному прикладі.
Якщо в першому компоненті від Adobe ви маєте вводити текст в строгій послідовності, то розробка Гілеля Корена розбиває отримані дані на слова і шукає не лише зліва на право, але й по наступному слові. Скажімо, якщо б я ввів «і» в першому випадку, то результат був би порожнім. AutoComplete від Hillel Coren доповнить поле так:

Рис.2. Ілюстрація роботи компонента AutoComplete від Hillel Coren.
Тобто критерій «і» задовольняє слова «Ігор» та «Іван», хоча прізвища, яке б починалось на «і» не виявлено.
Дивно те, що я не знайшов «автодоповнення» в базовому пакеті Flex-компонет. Адже це дуже потрібна річ в «господарці». Може я погано шукав?
Популярність: 24%
Теґи до статті: AdvancedAutoComplete, autocomplete, Flex, автозаповнення.
