post) em um projeto, deve ter caído em problemas de conversão de tipo, como mostrado pela imagem abaixo:

Esse erro acontece por que estamos tentando fazer 2 operações:
- 1. Atribuir o valor de user.id (Number) a proriedade text (String)
- 2. Atribuir o valor de text (String) a proriedade user.id (Number)
A primeira operação funciona muito bem, pois a classe Number tem o método toString() que é chamado toda vez que fazemos esse tipo atribuição. Nosso problema está com o item 2, onde estamos tentando atribuir uma String a uma propriedade Number.
Para resolver essa situação eu criei a classe NumberInput que extende a classe TextInput do spark, e funciona com um wrapper para a propriedade text do TextInput, o source do novo componente é simples e fica assim:
-
package br.com.dclick.components
-
{
-
? ?
-
? ? import spark.components.TextInput;
-
? ?
-
? ? public class NumberInput extends TextInput
-
? ? {
-
? ? ? ? public function NumberInput()
-
? ? ? ? {
-
? ? ? ? ? ? super();
-
? ? ? ? }
-
? ? ? ?
-
? ? ? ? [Bindable("change")]
-
? ? ? ? [Bindable("textChanged")]
-
? ? ? ? public function get textNumber():Number
-
? ? ? ? {
-
? ? ? ? ? ? return Number(text);
-
? ? ? ? }
-
? ? ? ?
-
? ? ? ? public function set textNumber(value:Number):void
-
? ? ? ? {
-
? ? ? ? ? ? text = isNaN(value)?“”:value.toString();
-
? ? ? ? }
-
? ? }
-
}
Quando aplicamos o novo componente, o erro some do projeto e conseguimos compilar:

Abaixo segue o exemplo funcional:
Para fazer o download da biblioteca que contém o NumberInput, clique aqui.




