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