返回 导航

Flex

hangge.com

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)

回到顶部