今天学习了一下Flex控件的拖拽功能,在这里和大家分享下,虽然简单,但对于初学者还是挺有帮助的。

所有 Flex 组件都支持拖放操作。Flex 为 List、Tree 和 DataGrid 控件的拖放操作提供了附加支持, 提供了附加支持的控件实现拖拽非常简单,这些都是Flex底层为我们封装好的,只要在事件源中添加dragEnable="true"属性,然后在目标控件中添加dropEnabled="true"属性就可以了,剩下的就是Flex底层的工作了。

如果逻辑复杂的时候,需要我们就要用到mx.core.DragSource类来封装拖拽式需要传递的数据,然后用mx.managers.DragManager类来进行拖放的操作。

具体步骤如下

  1. 在事件源中添加mouseDown事件,并向处理函数中传递DragSource和DragManager要用到的数据。主要数据查看下一步便可知道
  2. 在mouseDown的处理函数中new 一个DragSource对象,调用addData方法把要传递的数据和数据格式添加到对象中,然后调用DragManager的doDrag方法,开始拖拽操作。具体参数参看Adobe的官方文档.
  3. 在目标控件中添加dragEnter事件,在处理函数中根据接收到的数据格式,判断是否要进行接收,如下:
    //接受拖放数据
                   if(e.dragSource.hasFormat(format))
                        DragManager.acceptDragDrop(e.target as IUIComponent);
  4. 在目标控件中添加dragDrop事件,在处理函数中得到事件源传过来的数据,并进行自定义的逻辑操作.

 

参考文章:Flex 拖拽范例

 

 

相关文章:

  • 2022-03-06
  • 2021-09-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2021-06-15
  • 2021-11-08
  • 2021-07-02
猜你喜欢
  • 2021-05-13
  • 2021-10-11
  • 2022-01-19
  • 2022-12-23
  • 2021-10-13
  • 2022-12-23
  • 2021-11-08
相关资源
相似解决方案