Добавление нового узла к Dijit. Дерево в конкретном месте в дереве

Я сталкиваюсь со странной ошибкой при добавлении нового Древовидного узла к dijit. Дерево.

var rawdata = [{
            label: 'Date',
            id: '1',
            children: [{
                label: 'Life',
                id: '1.1'
            }, {
                label: 'Liberty',
                id: '1.2'
            }]
        }, {
            label: 'Some links (note: the link is <b>not</b> clickable)',
            id: '2',
            children: [{
                id: '2.1',
                label: '<a href="http://dojotoolkit.org">Dojo Toolkit</a>'
            }, {
                id: '2.2',
                label: '<img src="http://dojofoundation.org/media/img/dojo.logo.png" alt="greatest ever" height="32px" />'
            }, {
                id: '2.3',
                label: '<a href="http://blog.nqzero.com">my blog</a>'
            }]
        }];

 var store = new dojo.data.ItemFileWriteStore({
                data: {
                    identifier: 'id',
                    label: 'label',
                    items: rawdata
                }
            });

И для добавления объекта к дереву, я использую следующее:

store.newItem({id:'3', label:"New tree node label"});

Однако это только, кажется, работает впервые, я добавляю объект к дереву. При попытке добавить второй объект, я получаю Ошибку: утверждение перестало работать в ItemFileWriteStore?

Кроме того, в настоящее время узел добавляется на самом первом уровне в дереве. Как я мог добавить его в одном из поддерева, сказать второе дерево с id:2?

Спасибо!

1
задан Gunner4Life 8 July 2010 в 20:44
поделиться

1 ответ

Ошибка утверждения может быть вызвана наличием конфликтующих значений id. Добавляется ли второй товар с другим id, чем первый? Если вы добавляете элемент в магазин, он будет добавлен на верхнем уровне, если только вы не добавите элемент в один из дочерних массивов - дерево должно знать, куда поместить элемент, если вы добавляете его в магазин, оно предполагает (правильно), что это элемент верхнего уровня. Если вы добавляете новый элемент как дочерний элемент существующего элемента, то опять же, дерево знает, куда его следует поместить.

2
ответ дан 2 September 2019 в 23:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: