如何在拖放中扩展数据复制

How to extend data copying in drag-and-drop?

本文关键字:扩展 数据 复制 拖放      更新时间:2023-09-26

我有以下场景:一个列表和一个数据表都启用了DnD特性。记录的id是可见数据的一部分,但是当我尝试将具有相同id的项放入一个视图时,id变成了随机生成的。由于我想对数据项执行copy操作,这里有一个问题:如何防止复制已经存在于目标数据表中的项?

这是我的代码https://jsfiddle.net/gL72d02c/

根据文档中的示例实现复制,即

$$("view").attachEvent("onBeforeDrop", function(context, ev){
    for (var i=0; i< context.source.length; i++){
        context.from.copy(context.source[i],context.start,this,webix.uid());
    }
    return false;
});

您需要做的就是检查目标小部件中是否存在这样的ID (Docs)。例如:

$$("petTable").attachEvent("onBeforeDrop", function(context, ev){  
    for (var i=0; i< context.source.length; i++){
        if (this.exists(context.source[i]))
            return false;
        context.from.copy(context.source[i],context.start,this,webix.uid());
    }
    return false;
});