Kendo UI Удалить атрибут узла в Treeview

У меня есть несколько узлов, которые содержат items значение, которое по умолчанию инициализируется из Kendo значением "[]" каждый раз!

Я хочу полностью удалить поле "items" из узла, но я не могу найти какой-либо метод для удаления атрибутов.

Я пытаюсь получить доступ к узлам через dataItem и я попробовал dataItem.set("items",undefined) но все же я не думаю, что это помогло. Я пытаюсь удалить items поле, потому что, кажется, есть проблема с той инициализацией, сделанной кендо, и я не могу добавить новые узлы к ним, и я думаю, что это из-за этого...

РЕДАКТИРОВАТЬ:

Кажется, что kendo.observableHierarchy(data) инициализирует каждый узел дерева без дочерних элементов (и, следовательно, без items атрибут all). И под инициализацией я подразумеваю, что каждый раз, когда я показываю источник данных, узлы, которые не имеют дочерних элементов, имеют "items":[] атрибут добавлен к ним автоматически!

Я пробовал добавлять узлы через treeview.dataItem(treeview.select()).append() но я обнаружил, что этот метод не работает на "старых" узлах, которые имеют "items":[] Атрибут добавляется к ним с помощью kendo, поэтому "старые" узлы - это все узлы, которые были загружены в дерево при загрузке страницы и, следовательно, были сохранены в файле JSON.

И я говорю "старый", потому что, если я добавляю новый узел, он не имеет "items" поле и .append() упомянутое выше работает довольно хорошо при добавлении узла и обновлении источника данных. .append() работает довольно хорошо и на "старых" узлах, у которых уже есть дети, и поэтому их "items" поле не изменено кендо, потому что оно уже существует.

2 ответа

Решение

Удаление поля объекта delete XXX, яve updated the [fiddle] (jsfiddle.net/OnaBai/UC3uW/1) by adding a third option calledно я не понял, что вы предлагаете, это не решит проблему. Я боюсь, что это функция в KendoUI, которая не управляет HierarchicalDataSources, как мы ожидаем.

Я только что обнаружил кое-что интересное в предложенном Кендо ответе по адресу: http://www.telerik.com/forums/clear-all-nodes

Используя предложенный код, также удалите атрибут.items:

$(".k-treeview").data("kendoTreeView").remove(".k-item");
Другие вопросы по тегам