Dorado 9 : Trigger(DCUG)

基本特性

与编辑框相关联的触发器。

通过TextEditor的trigger属性可以将一个Trigger控件关联到当前的编辑框中:

关联后编辑框在浏览器中的效果如下:

可以在编辑框的右侧看到一个按钮图标。

利用Trigger的onExecute事件我们可以定义上图按钮图标的单击事件,如:

代码如: 

dorado.MessageBox.alert("执行动作");

这样当我们单击编辑框右边的图标时,这个事件就会被触发,执行效果如:

其它属性详细说明

icon和iconClass

支持icon和iconClass属性设定,如本例: 

<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <View layout="padding:20" title="HelloWorld">
    <TextEditor>
      <Property name="trigger">trigger1</Property>
      <Property name="width">200</Property>
    </TextEditor>
    <Trigger id="trigger1">
      <ClientEvent name="onExecute">dorado.MessageBox.alert("执行动作");</ClientEvent>
      <Property name="icon">url(skin>common/icons.gif) -80px -20px</Property>
    </Trigger>
  </View>
</ViewConfig>

运行效果:

编辑框右侧的图标就变为自定义的icon了。

再看下面一个有趣的图标:  

<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <View layout="padding:20" title="HelloWorld">
    <TextEditor>
      <Property name="trigger">trigger1</Property>
      <Property name="width">200</Property>
    </TextEditor>
    <Trigger id="trigger1">
      <ClientEvent name="onExecute">dorado.MessageBox.alert("执行动作");</ClientEvent>
      <Property name="icon">url(>skin>common/icons.gif) -0px -280px</Property>
    </Trigger>
  </View>
</ViewConfig>

 运行效果:

上面的截图让你想到了什么?—下拉框。

Dorado7中的下拉框就是一种特殊的Trigger

editable

是否允许用户在相应的编辑框中进行文本输入。

例如下拉框类型的Trigger,我们希望用户必须下拉选择,而不允许其直接在编辑框中输入,就可以设置editable为false:


buttonVisible

该属性一般用在浏览器端通过JS动态控制Trigger是否可见,如果设置为false,则编辑框中就看不到这个Trigger控件了,如下: 

trigger1.set("buttonVisible", false);

页面效果:

当然如果想取消编辑框的trigger也可以直接动态设定TextEditor的trigger属性实现,如:

texteditor.set("trigger", null);

这样可以控制某一个TextEditor中trigger的可见性,而如果页面上这个Trigger被多个TextEditor绑定,则通过buttonVisible控制更为方便。

Attachments: