在dojo中使用insertnodes时设置id

时间:2011-12-15 07:26:49

标签: dojo dojo-dnd

使用insertNodes时,将为节点创建唯一的ID。

insertNodes(addSelected, data, before, anchor)

我们如何指定某个名称/文本作为新节点的ID?

1 个答案:

答案 0 :(得分:3)

创建自定义“创建者”功能,并在项目上设置ID。 示例:

在你的HTML中

<ol id="listNode">
</ol>

在你的javascript中:

require(["dojo/dnd/Source"]);

function myCreator( item, hint ) {
    var myLi = dojo.create( 'li', { id : item.id, innerHTML: item.text });

   if (hint == 'avatar') {
      // create your avatar if you want
      myLi.innerHTML = "Moving " + item.text + "...";
   }
   return {node: myLi, data: item, type: "foo"};
}

dojo.ready(function() {
    var list = new dojo.dnd.Source("listNode", {creator: myCreator});

    list.insertNodes(false, [
        { id : "id1", text : "foo"},
        { id : "id2", text : "bar"},
        { id : "id3", text : "baz"}
    ]);
});