Flex - Как связать (двухстороннее) целое число с полем TextInput - PullRequest
9 голосов
/ 12 апреля 2011

Как двусторонне связать целое число с полем ввода в Flex / FB4?is_admin - это целое число:

<s:TextInput id="textUserIsAdmin" text="@{user.is_admin}" width="5"/>

Я получаю:

1067: Implicit coercion of a value of type String to an unrelated type int.

Есть ли другой тип ввода, или мне нужно связать другим способом?

Ответы [ 2 ]

16 голосов
/ 12 апреля 2011

Короткий ответ, вы не можете выполнить двухстороннее связывание, когда пытаетесь изменить саму природу объекта, который вы связываете. Они должны быть одинаковыми, иначе это не сработает. С учетом сказанного, существует обходной путь:

<s:TextInput id="textUserIsAdmin" text="{user.is_admin}" restrict="0-9" change="user.is_admin = int(textUserIsAdmin.text)"/>

Как вы можете видеть здесь, я связываю исходное значение с моделью, но затем, когда пользователь что-то набирает, событие изменения отправляется, а значение TextInput приводится и сохраняется. Я также добавил «ограничение», чтобы можно было вводить только цифры.

0 голосов
/ 12 апреля 2011

РЕДАКТИРОВАТЬ: Убедитесь, что я дам вам ответ, который вы хотите.

Если вы хотите, чтобы значение целого числа было в TextInput, и вы хотите преобразовать значение textinput в user.is_admin, используйте следующее:

<s:TextInput id="textUserIsAdmin" text="@{user.is_admin.toString()}" change="user.is_admin = int(textUserIsAdmin.text);" width="5" />

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...