Привязка значения переменной к текстовому вводу

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


person youaintnonerd    schedule 12.04.2011    source источник


Ответы (3)


да. Достаточно просто, вы можете сделать 2-стороннюю привязку:

<fx:Script>
  <![CDATA[
  [Bindable] private var someObject:Object;
  ]]>
</fx:Script>

<s:TextInput text="@{someObject.someString}" />

При двусторонней привязке любые изменения свойства someString изменят TextInput или, если вы измените TextInput вручную, ваше свойство someString будет обновлено.

person J_A_X    schedule 12.04.2011
comment
Спасибо!! Это именно то, что мне нужно было знать. - person youaintnonerd; 13.04.2011

Это может быть не совсем то, что вы ищете, но у вас всегда может быть обработчик событий focusLostevent из textInput, который устанавливает нужную переменную в textInput.text.

person Mike    schedule 12.04.2011

Вы можете установить значение переменной, используя событие change файла TextInput.

Пример (не проверено):

<fx:Script>
  <![CDATA[
  [Bindable] public var someText:String = "foo";

  protected function myText_changeHandler(event:TextOperationEvent):void
  {
    someText = myText.text;
  }
  ]]>
</fx:Script>

<s:TextInput id="myText" text="{someText}" change="myText_changeHandler(event)" />
person Jason Towne    schedule 12.04.2011