如何从Dojo拖放源中删除/删除项目?

时间:2012-08-10 21:31:55

标签: dojo drag-and-drop dojo-dnd

我有以下Dojo DnD,我无法弄清楚如何从/ catalog来源删除和添加项目。我最终想做的是允许用户:

  1. 将项目从catalog拖到wishlist ...这样运作正常。
  2. 点击清除列表按钮,删除catalog中未移至wishlist的所有剩余项目...此处需要帮助。
  3. 通过点击下面代码中未列出的其他按钮,可以向catalog添加新项目...此处需要帮助。
  4. 总结一下,我需要知道如何删除项目并从catalog添加项目,并将所有移动的项目保留在wishlist

    dojo.addOnLoad(function() {
        require([ "dojo/dom-class", "dojo/dnd/Source", "dijit/form/Button", "dojo/domReady!" ], function(domClass, Source){
            var catalog = new Source("catalogNode");
            catalog.insertNodes(false, [
                { data: "Bushmaster <div id='5' style='display:none;'>5</div>"},
                { data: "Colt <div id='4' style='display:none;'>4</div>"},
                { data: "DPMS <div id='6' style='display:none;'>6</div>"},
                { data: "Glock <div id='2' style='display:none;'>2</div>"},
                { data: "Kahr Arms <div id='7' style='display:none;'>7</div>"},
                { data: "Marlin <div id='3' style='display:none;'>3</div>"},
                { data: "Remington <div id='78' style='display:none;'>78</div>"},
                { data: "Rock River Arms <div id='1' style='display:none;'>1</div>"},
                { data: "Smith & Wesson <div id='105' style='display:none;'>105</div>"}
            ]);
            catalog.forInItems(function(item, id, map){
                domClass.add(id, item.type[0]);
            });
    
            var wishlist = new Source("wishlistNode");
    
            new dijit.form.Button({
                label: "Clear List",
                onClick: function() {
                    alert("Clearing Items");
                }
            },
            "clearListBtn");
        });
    });
    

1 个答案:

答案 0 :(得分:1)

删除源中的所有(剩余)元素:

// e.g., var catalog = new Source("catalogNode");
catalog.selectAll().deleteSelectedNodes();

可以使用完全相同的insertNodes()

随时添加新项目
catalog.insertNodes(false, additionalData);