javascript - ExtJS 拖放中的动态复制

标签 javascript extjs drag-and-drop

我有一个带有treeviewdragdrop插件的树面板。在我的 Controller 中,我需要要求用户选择是否要删除节点或复制它。

Ext.define('App.view.admin.LevelTree', {
    extend: 'Ext.tree.Panel',
    xtype: 'leveltree',
    requires: ['Ext.tree.plugin.TreeViewDragDrop'],
    viewConfig: {
        preserveScrollOnRefresh: true,
        plugins: {
            ptype: 'treeviewdragdrop'
        }
    }

这是我的 Controller 代码:

me.getLevelTree().getView().on('drop', me.doChangeParent, me);

--

doChangeParent: function(node, data, overModel, dropPosition, eOpts) {...} 

如何根据用户选择在树面板(在 Controller 中)中设置 copy: true 属性?

最佳答案

您可以使用插件并查看配置,如下所示:

    viewConfig: {
                plugins: {
                    ptype: 'treeviewdragdrop'
                },
                listeners: {
                    beforedrop: function(node, data, overModel, dropPosition, dropHandlers) {
                        dropHandlers.wait = true;
                        Ext.MessageBox.confirm('Copy or move', 'If you want to copy node, press Yes', function(btn) {
                            data.copy = (btn === 'yes');
                            dropHandlers.processDrop();
                        });
                    }
                }
            },

实例:https://fiddle.sencha.com/#fiddle/fea

关于javascript - ExtJS 拖放中的动态复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27600661/

相关文章:

css - ExtJS:未知高度图像下方的文本

javascript - ExtJS 5 如何在模型中动态创建字段

javascript - 使用 extjs 存储中的代理从 Web API 服务获取数据的问题

c# - e.Data.GetDataPresent 在 WinForms 拖放处理程序中不起作用?

javascript - Webpack 4 文件加载器将 svg 文件内容更改为 __webpack_public_path__

javascript - 什么是最佳实践导航 react native

javascript - 是否可以选择日期或在一个输入上放置文本,并且自动也应该出现在另一个输入上

php - XMLHttpRequest POST 到 PHP 删除加号

jquery - 拖动时在 Safari 和 Chrome 中拖放光标会发生变化

JavaScript 模块模式和拖放 API