使用flex中的tree组件,想要添加“更改节点顺序”的功能,最先想到的就是直接拖动。上网搜索+查API+试验,终于实现了。
很简单,不需要自己写复杂的逻辑,只需要把dragEnabled、dropEnabled、dragMoveEnabled属性都设置成true就可以了。从属性名来理解,dragEnabled是拖动,dragMoveEnabled是拖动并移动,dropEnabled是释放。这里需要注意一下dropEnabled,在做List组件的拖动时发现,flex中应该是可以在组件之间拖动的,比如从一个List组件拖动到另一个List组件,tree应该也可以,所以要设置dropEnabled为true,接收拖放到该组件的item(item的来源可以是自己,也可以是其他组件)。
代码如下。
<mx:Tree id="projectTree" width="100%" height="100%" dataProvider="{ treeData }" dragEnabled="true" dropEnabled="true" dragMoveEnabled="true"></mx:Tree>
如果是让我自己写代码实现拖动功能,一个星期都写不出来,而且flex中的数据绑定,缓动,切换效果都可以很方便的添加,布局也很强大。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。