`
pizazz_ex
  • 浏览: 20206 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

用于可验证参数设置的方法

阅读更多
参数可以自定义的在组件中进行设置
方法代码:
package pizazz.flex4.utility{
	public class ParamUtil{
		public function ParamUtil(){}

		public static function setParam(source:Object, 
				param:Object, validator:Boolean = true):Boolean{
			if(source == null){
				return false;
			}
			try{
				for(var _field:String in param){
					if(source.hasOwnProperty(_field)){
						var _param:Object = param[_field];
						if(validator){
							if(validatorParam(_param)){
								source[_field] = _param;
							}
						}else{
							source[_field] = _param;
						}
					}
				}
			}catch(_err:Error){
				return false;
			}
			return true;
		}

		public static function validatorParam(source:Object):Boolean{
			if(source == null){
				return false;
			}else if(source is String && source == ""){
				return false;
			}else if(source is Number && isNaN(Number(source))){
				return false;
			}
			return true;
		}
	}
}

方法执行:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" 
			   minWidth="955" minHeight="600">
	<s:layout>
		<s:HorizontalLayout />
	</s:layout>
	<fx:Script>
		<![CDATA[
			import pizazz.flex4.utility.ParamUtil;

			private function buttonFactory(param:Object = null):Button{
				const _button:Button = new Button();
				ParamUtil.setParam(_button, param);
				return _button;
			}

			private function addButtonA():void{
				addElement(buttonFactory({
					"label": "按钮+",
					"width": 100
				}));
			}

			private function addButtonB():void{
				addElement(buttonFactory());
			}
		]]>
	</fx:Script>
	<s:Button width="100" label="生成按钮A" click="addButtonA()" />
	<s:Button width="100" label="生成按钮B" click="addButtonB()" />
</s:Application>

视图:

  • 大小: 1.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics