[Flex] mx:TextInputとs:TextInputのrestrict指定による挙動の違い
現在、TextInputには、mxとsparkの両方の部品があり、どちらも使用することができます。
mxのTextInputにrestrictを指定するときに便利(?)な機能があります。
<mx:TextInput restrict="[A-Z]"/>
このように指定した場合、小文字のaを入力しても勝手に大文字のAに変換されて入力されます。
ユーザーは、いちいちシフトキーを押す必要がないわけです。
ですが、sparkのTextInputで同様の記述をすると、同じ動きにはなりません。
<s:TextInput restrict="[A-Z]"/>
この場合、小文字のaを入れても、何も入力されません。大文字のAしか入力できません。
この動きが正解といえば、正解なのですが、mxの動きを知っているものとしては、不便になったと言わざるおえません。
同様の動きをさせようとするなら、小文字のa-zも入力可能として、changeイベントなどで大文字変換を行う必要があります。
たとえば、
<s:TextInput restrict="[A-Za-z]" change="{spark.components.TextInput(event.currentTarget).text = spark.components.TextInput(event.currentTarget).text.toUpperCase()}"/>
です。
このあたりの細かい変更点が公開されていないので、やってみないと分からないところが煩わしいですね。
== ランキングに参加しています。ぜひクリックお願いします ==
[オススメ書籍] Flex&Flash Builder 4 による Webアプリケーション開発ガイドブック [IT] よくできてる!! Web宝くじシミュレーター