Flexed toolkit是一个简单易用的flex组件库。主页的地址是http://code.google.com/p/flexedtoolkit/。本文主要讲解其中的一个form组件CForm的用法。
开发中需要很多的form表单,虽然flex组件库中已经包含form组件但是form组件的功能太简单了,例如:表单项按2列排放,重置,得到表单的数据等,都需要自己写很长的代码。再一次感谢Flexed toolkit的作者为我们提供了CForm组件来解决这些问题。
CForm组件的原理是根据XML中的信息动态创建flex组件,优点在于:布局、验证等都可以是自动的,程序员可以把更多的精力放在业务逻辑上。
下面举个简单的例子是讲下CForm组件的使用方法:
1.导入cform.swc。
2.编写一个basic.xml文件,问价内容如下:
<?xml version="1.0" encoding="utf-8"?>
<cform columns="2" vgap="5" igap="1">
<group label="用户信息" column="1">
<formitem>
<field id="fname" label="姓名">
<widget type="text" default="韩敬诺"/>
</field>
</formitem>
<formitem>
<field id="age" label="年龄">
<widget type="stepper" default="26" min="1" max="200"/>
</field>
</formitem>
<formitem>
<field id="gender" label="性别">
<widget type="radiogroup">
<item data="male" label="男" selected="true"/>
<item data="female" label="女"/>
</widget>
</field>
</formitem>
<formitem>
<field id="bday" label="生日">
<widget type="date" showtime="true"/>
</field>
</formitem>
<formitem>
<field id="alive" label="婚否">
<widget type="checkbox" selected="false"/>
</field>
</formitem>
</group>
<group label="其他信息" column="2">
<formitem>
<field id="address" label="Email">
<widget type="textarea" default="hanjingnuo@163.com"/>
</field>
</formitem>
</group>
</cform>
3.在Application的初始化方法中添加以下内容
import flexed.widgets.form.CForm;
public var cf:CForm;
private function init():void{
var str:String="basic.xml";
cf=new CForm();
cf.widgetsFile=str;
cf.init();
box.addChild(cf);
}
以上是用as3创建的 也可以用mxml来创建cform组件。
<flexed:CForm id="cfrm" widgetsFile="basic.xml"
verticalCenter="0"
verticalScrollPolicy="auto" horizontalCenter="0"
horizontalScrollPolicy="off"
width="400" height="100%"/>
注意:cform此时并不会创建,需要手动调用它的init()方法。
来看下效果吧
cFormValidation是表单验证函数。
例如以下是验证数字和空置的验证函数。
private function validateForm(id:String, value:Object, values:Object):ValidationResult{
var result:ValidationResult = new ValidationResult(false);
if(id == "fname" || id == "txtFName"){
var rxpNumber:RegExp = /\d/g
var match:Array = null;
match = (value as String).match(rxpNumber);
if(match.length != 0)
result = new ValidationResult(true,null,"","No numbers allowed in this field!!!");
}else if(id == "txtCoName"){
if(value == "" || value == null)
result = new ValidationResult(true,null,"","You HAVE to enter a company name!");
}
return result;
}
getData(false) 得到cform的data值 如果参数是false则得到所有值,如果为空则得到修改过的值。
resetCForm()将表单置空。
setData(values:Object);为表单赋值。
getWidget("WidgetID").getUIComponent() 访问cform组件里面的内部组件。
createCFormFromXML(new XML());从一个XML对象创建CForm。
附件是例子的源代码。
- 大小: 12.4 KB
分享到:
相关推荐
在这个编码挑战中,主题是创建一个“:flexed_biceps:信息存储库”。这个项目主要关注前端开发技术,包括JavaScript、SASS(SCSS)、HTML5、CSS3以及相关的编码和设计挑战。开发者社区,如devChallenge和DevMagno,...
这是组件库,可以配置您需要的所有内容。 :high_voltage: :high_voltage: :high_voltage: 使用它,您可以扩展或/和覆盖lib内部任何元素的任何部分(边界(半径,颜色,宽度),标题或正文的字体系列,字体大小,...
简单高效的 JS 数据模型定义库,帮助前后端数据结构轻松解耦,提高程序健壮性 :flexed_biceps::flexed_biceps::flexed_biceps: Intro 随着SPA应用的兴起,前后端分离的开发模式大行其道,使得前后端各司其职,大大...
随着项目名称中提到的"flexed_biceps",我们可以猜测这个项目可能包括了一些进阶主题,比如JavaScript框架和库的使用,如React、Vue或Angular,它们大大简化了构建复杂用户界面的过程。学习如何使用这些工具,理解其...
svelte-tiny-virtual-list一个小而强大的列表虚拟化库,具有零依赖性:flexed_biceps:关于•功能•安装•使用•示例•许可证关于虚拟列表组件不呈现所有数据,而是仅呈现项目可见,使您的页面保持美观和明亮。...
VueCesium-用于GIS的CesiumJS的基于Vue 3.x的组件库。 :flexed_biceps: Vue 3.0合成API :fire: 用TypeScript编写 状态:测试版 该项目仍在大力开发中。 欢迎加入我们,并提出您的第一个请求。 语言能力 文献资料 ...
:flexed_biceps: fit-html 3KB Web组件+ lit-html + redux库,没有膨胀。总览fit-html是 ,Web组件和的组合,将高效渲染和功能性应用程序体系结构结合在一起。 但是,该框架的总大小(包括依赖项)不到3KB。小例子您...
【标题】"Major_Study::flexed_biceps:학과공부:flexed_biceps:" 提供的信息表明,这是一个关于专业学习或学科研究的项目,其中可能涵盖了某个特定领域的深入探讨。"flexed_biceps"符号可能象征着力量与专注,暗示了...
:flexed_biceps: 模板monorepo,可让您无缝编写,展示和发布Web组件 产品特点 使用和来维护monorepo 用打字稿写 内置支持 一个简单的脚本为您生成样板代码 用法 克隆仓库后,通过运行yarn安装依赖项。 该模板带有...
:lipstick: SymphonyBDK-UI工具包样式Symphony设计系统的官方样式库要求节点12+ 纱 :hammer_and_wrench: 安装跑步yarn :flying_saucer: 探索yarn start :grinning_face: 图示要在UIToolkit样式中添加新图标,请执行...
Element Plus-一个Vue.js 3.0 UI库 :flexed_biceps: Vue 3.0合成API :fire: 用TypeScript编写 状态:测试版 该项目仍在大力开发中。 欢迎加入我们,并提出您的第一个请求。 特别感谢以下机构的慷慨赞助: 文献...
display : :flexed_biceps:; } . foo . bar { :flexed_biceps_medium-dark_skin_tone: - grow : 0.6; :flexed_biceps_light_skin_tone: - basis : min-content ; } . foo { display : flex; } . foo . bar { ...
这是一些学习过程中的练习文件:flexed_biceps::flexed_biceps: 该课件来源妙味课程,看了老师的教程,自己学了一遍。 vue进阶: 学习分四个模块: 1、脚手架工具vue-cli生成出的目录结构,分析了webpack构架工具的...
一个很小但强大的列表虚拟化库,零依赖 :flexed_biceps: ••••• 关于 虚拟列表组件不会呈现所有列表中的所有数据,而是呈现可见的项目,从而使页面保持美观和明亮。 这很大程度上是受启发的,并使用了其大多数...
但更容易不翻译进度英语中国人是否完成介绍介绍 :check_mark_button: 环境环境配置 :construction: 快速开始快速入门现代JavaScript现代Javascript ES2015 ES2015 JSX JSX React组件React组件组件API 组件API 生命...
标题“SuperBottomSheet:类固醇上的Android本机BottomSheet:flexed_biceps:”暗示了一个增强版的BottomSheet实现,即SuperBottomSheet库。这个库为开发者提供了更强大的功能和定制选项,使其在Android应用中构建...
在本项目中,"workouts:React应用程序以跟踪锻炼情况:flexed_biceps:" 是一个基于React框架构建的个人健身追踪应用。这个应用旨在帮助用户记录和管理他们的锻炼日志,从而更好地跟踪自己的健身进度。从描述中我们...
:flexed_biceps: Vue 3.0合成API状态:测试版该项目仍在大力开发中。 欢迎加入我们,并提出您的第一个请求。引导项目带命令$ yarn bootstrap 该项目将安装所有依赖项并运行lerna bootstrap来初始化项目网站预览带...
标题 "Gym-Routines::flexed_biceps:&:cooking:" 暗示着这是一个结合健身动作与烹饪知识的主题,可能包含有关健身房锻炼计划,尤其是针对锻炼二头肌(flexed biceps)的训练方法,以及与健康饮食或烹饪相关的资料。...