Flex 4中NumericStepper的新增功能

本文讲述的是spark组件中的NumericStepper控件。与mx版的NumericStepper控件相比,spark版的NumericStepper的新增了valueFormatFunction和valueParseFunction两个属性,它们有什么作用呢?

看下面实例:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  xmlns:s="library://ns.adobe.com/flash/spark"
  xmlns:mx="library://ns.adobe.com/flash/mx">
  <s:layout>
    <s:VerticalLayout horizontalAlign="center" paddingTop="20"/>
  </s:layout>
  <fx:Script>
    <![CDATA[
      private function formatValue(value:Number):String
      {
        return "MA" + value;
      }
       
      private function parseValue(value:String):Number
      {
        return Number(value.substr(2));
      }
    ]]>
  </fx:Script>
  <s:NumericStepper id="ns"
    width="120" stepSize="10"
    minimum="10" maximum="100"
    valueFormatFunction="formatValue"
    valueParseFunction="parseValue"/>
  <s:Label text="当前值:{ns.value}"/>
</s:Application>

在本实例中,我们通过valueFormatFunction回调函数,实现了NumericStepper控件的文本区域显示值为String。通过valueParseFunction回调函数,实现了返回的值为Number。而旧版的NumericStepper控件的文本区域只能显示Number型数据,要实现类似功能,一般得覆写value访问器(getter/setter)。

发表评论

电子邮件地址不会被公开。 必填项已用*标注