Dorado 9 : 控件标签(sample-center)

控件标签是一种控件的自定义分类功能。

典型场景:流程中不同节点的审批页面公用一个View,操作按钮很多,可以通过控件标签功能一次性的显示和隐藏多个按钮,带来极大的便利。

 

例如有十个控件,有按钮,编辑框,Dialog,DataPilot等等不同的控件,如果我们想自定义一个分类,在这个分类标准下,可以将按钮,Dialog按照自己的需要划分为同一种分类。那么就会比较有趣。

举例:

id类型分类设定
button1按钮type1,type2,type3
button2按钮type1
editor1编辑框type1,type2
editor2编辑框type3

显然分类type1包含的控件有button1,button2,editor1;分类type2包含的控件有button1,editor1;分类type3包含的控件有button1,editor2.

配合分类的设计,在dorado中控件提供了tags属性,它是一个以逗号为分割符的字符串,例如上例中button1的tags就可以设置为:

通过tags属性可以快速的形成分类。

当然了,有什么用呢?为此还得再了解View提供的方法:

view.get("^typename");//根据分类关键字返回该分类下的所有控件

如上例我们如果希望获得type1的所有控件,就可以通过view.get("^type1");代码获得所有的控件,返回结果是一个数组对象。

这个方法就好比:体育课上,老师说下周所有参加长跑比赛的同学到我这儿来。老师不需要确切的知道谁是参加长跑的,但是参加长跑的学生一定知道自己是否参加,就会主动的跑到老师指定的位置上去。

如果这个方法再配合上虚拟属性操作功能,那就更有趣了:

view.set("^type1.disabled", true);

这就相当与设置所有类型为type1的disabled属性为true.怎么样这样就很方便了吧。

本例展示的就是这么一个功能,如下图:

如果我们想使一个按钮处于按需的状态,可以通过:

button.set("toggled", true);

而上面这么多按钮,如果循环遍历是很费劲的。但是利用标签功能,那么只要每一个按钮根据自己的颜色设置tags属性为red或green。那么当我们想实现上面的功能的时候只要写一句话就可以:

view.set("^red.toggled", true)或view.set("^green.toggled", true);

Attachments: