Доступ к выбранному в данный момент элементу в ComboBox строки, введенной вручную - PullRequest
1 голос
/ 14 ноября 2011

Я просто хочу получить существующую метку из выбранного в данный момент элемента в ComboBox.Я заполнил его DataProvider списком строк, и он не позволит мне получить текущую выбранную метку, особенно если я введу новую, не включенную в DataProvider.Что я пропускаю?

1 Ответ

0 голосов
/ 14 ноября 2011

Если DataProvider был указан в ActionScript вашего проекта (внутри встроенного тега <fx:Script> или внутри упрощенного файла .as), вы можете легко получить доступ к выбранной метке в следующем примере:

var selected:String = (String) data.getItemAt(myComboBox.selectedIndex);

Если ваш DataProvider был указан в MXML или каким-то другим не переменным способом, вы можете сделать это:

var items:ArrayCollection = (ArrayCollection) myComboBox.dataProvider;
var selected:String = (String) items.getItemAt(myComboBox.selectedIndex);

Возможно, вы задаете следующие вопросы, на которые я сейчас отвечу:

  1. Зачем мне приводить результат к строке?
    • Поскольку DataProviders возвращает Objects, а метод .toString () возвращает «[Object]».
  2. Почему нет какого-то свойства .textmyComboBox?
    • Вводимый текст используется только для поиска и не может быть значением.
      • Поле со списком не было разработано для этого.
    • Более эффективно возвращать индекс внутри DataProvider, в котором существует значение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...