Flex - 如何将整数绑定(双向)到TextInput字段

时间:2011-04-12 00:28:44

标签: flex forms binding types

如何将整数绑定到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 个答案:

答案 0 :(得分:16)

简短的回答,当你试图改变你绑定的对象的本质时,你不能做双向绑定。它们必须相同或不起作用。话虽如此,有一个解决方法:

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

正如您在此处所看到的,我正在绑定模型中的原始值,但是当用户键入内容时,将调度change事件并传输和保存TextInput值。我还添加了一个'restrict',这样只能键入数字。

答案 1 :(得分:0)

编辑:确保我给你你想要的答案。

如果希望整数的值在TextInput中,并且您希望将textinput的值强制转换为user.is_admin,请使用以下命令:

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

希望这有帮助。