Flex - 点击Tree中的一行 打开/关闭 节点
作者:hangge | 2015-03-03 11:13
在Flex的Tree组件中,如果要打开某个节点的话,点击节点本身是不好用的,只能点击节点前面的那个很小的“三角符号”,这种用户体验其实是很糟糕的。
不过我们可以通过Tree中的itemClick事件来自己实现这个事情,这样点击节点文本也可以实现节点展开与关闭。
<?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">
<fx:Script>
<![CDATA[
import mx.events.ListEvent;
[Bindable]
private var mydata:XML = <root text="根节点">
<node text="节点1">
<node text="节点1-1"/>
<node text="节点1-2"/>
</node>
<node text="节点2">
<node text="节点2-1"/>
<node text="节点2-2"/>
</node>
</root>
private function itemClickHandler(evt:ListEvent):void
{
var item:Object = Tree(evt.currentTarget).selectedItem;
if (tree.dataDescriptor.isBranch(item)) {
tree.expandItem(item, !tree.isItemOpen(item), true);
}
}
]]>
</fx:Script>
<mx:Tree id="tree" dataProvider="{mydata}" labelField="@text"
itemClick="itemClickHandler(event)"
width="180" height="200"/>
</s:Application>
全部评论(1)
很棒
站长回复:多谢夸奖