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)。

发表评论