extjs 如何在exJs或javascript中制作可交换组件

pw9qyyiw  于 2022-11-04  发布在  Java
关注(0)|答案(1)|浏览(170)

如何在exJs或javascript中制作可交换组件。
我有两个组件,都是可拖动的。

xtype : "panel",
            title: 'My Apps',
            region: 'east',
            width: 290,
            items:[{
                xtype : 'panel',
                cls: 'myCLS',
                iconCls : 'app-info-appstore',
                title: 'Home',
                draggable : true,
                html : 'Home.',
                listeners: {
                    'render': function(panel) {
                        panel.body.on('click', function() {
                            alert('onclick');
                        });
                     }
                 }

            },{
                xtype : 'panel',
                cls: 'myCLS',
                title: 'Profile',
                iconCls : "app-info-iconToure",
                draggable : true,
                html : 'Apps',
            }

当我拖动一个到另一个时,它是重叠的。我们如何在extJS中交换两个元素的位置?
任何其他库帮助也将起作用。

fhity93d

fhity93d1#

onDrop通过insert将其添加到父容器中。
要获得正确的位置,您可以根据鼠标位置计算它,或者...
onDrop你得到你当前所在的目标dom元素。

const extComponent = Ext.ComponentManager.from(domEl),
      currentIndex = ... // search for the position of that item in parent

parent.insert(droppedItem, currentIndex);

进一步工作

  • 如果您使用占位符代理,您甚至可以预览这些。
  • 如果元件大小相同,请使用锁点。
    示例

小提琴

相关问题