Flex中如何利用openItems属性,检测当前Tree的哪一个节点被展开

本文展示了一个使用Adobe Flex框架创建的Tree组件实例。该实例通过双向绑定的方式实时更新树形结构的展开项,并同步显示在列表及文本区域中。代码中运用了mx:Tree和mx:List组件来实现树状数据的展示与交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

main.mxml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"
  3. layout="vertical"
  4. verticalAlign="middle"
  5. backgroundColor="white">
  6. <mx:Script>
  7. <![CDATA[
  8. import mx.events.TreeEvent;
  9. import mx.utils.ObjectUtil;
  10. private function tree_openItems_change(evt:TreeEvent):void {
  11. /* Set the array and let binding do the real work. */
  12. openItemArr = tree.openItems as Array;
  13. }
  14. ]]>
  15. </mx:Script>
  16. <mx:Arrayid="openItemArr" />
  17. <mx:XMLid="xmlDP">
  18. <node>
  19. <nodelabel="1.a" />
  20. <nodelabel="1.b" />
  21. <nodelabel="1.c">
  22. <nodelabel="1.c.i" />
  23. <nodelabel="1.c.ii" />
  24. <nodelabel="1.c.iii" />
  25. <nodelabel="1.c.iv" />
  26. <nodelabel="1.c.v" />
  27. </node>
  28. <nodelabel="1.d" />
  29. <nodelabel="1.e">
  30. <nodelabel="1.e.i" />
  31. <nodelabel="1.e.ii" />
  32. <nodelabel="1.e.iii">
  33. <nodelabel="1.e.iii.A" />
  34. </node>
  35. <nodelabel="1.e.iv" />
  36. </node>
  37. <nodelabel="1.f" />
  38. </node>
  39. </mx:XML>
  40. <mx:ApplicationControlBardock="true">
  41. <mx:Labeltext="Tree openItems length: {openItemArr.length}" />
  42. </mx:ApplicationControlBar>
  43. <mx:HDividedBoxwidth="100%">
  44. <mx:Treeid="tree"
  45. dataProvider="{xmlDP}"
  46. labelField="@label"
  47. showRoot="false"
  48. width="50%"
  49. rowCount="8"
  50. itemOpen="tree_openItems_change(event);"
  51. itemClose="tree_openItems_change(event);"/>
  52. <mx:Listid="list"
  53. dataProvider="{openItemArr}"
  54. labelField="@label"
  55. width="50%"
  56. height="100%"/>
  57. <mx:TextAreaid="textArea"
  58. editable="false"
  59. text="{ObjectUtil.toString(openItemArr)}"
  60. width="50%"
  61. height="100%"/>
  62. </mx:HDividedBox>
  63. </mx:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值