В документации KUUU UI для компонента DataSource
указано, что функция data
используется для получения элементов данных для источника данных.Получение исходных данных из kendo UI DataSource
Однако он также указывает, что если источник данных привязан к массиву JavaScript (через опцию data), метод data
вернет элементы этого массива. Каждый элемент массива завернут в kendo.data.ObservableObject
или kendo.data.Model
.
Как получить исходные развернутые элементы данных (т. Е. Имеющие такую же ссылку), которые были переданы в источник данных?
Я спрашиваю, потому что я использую элемент управления TreeView Kendo UI и в обработчиках событий (например, событие проверки). Я хочу обновить исходный элемент данных для узла дерева на основе некоторой пользовательской логики.
Update
Например вот простой TreeView, имеющий один узел (конечно в реалистичном сценарии дерево будет содержать много узлов). При проверке узла я хочу получить ссылку на исходный элемент данных для проверяемого узла. this.dataItem(e.node)
не возвращает исходный элемент данных, так как оператор журнала выводит значение false.
<div id="treeview"></div>
<script>
var mydata = [
{ text: "foo", checked: false}
];
$("#treeview").kendoTreeView({
checkboxes: true,
dataSource: mydata,
check: function(e) {
console.log(this.dataItem(e.node) == mydata[0]); //I want this to output true
}
});
</script>
Благодарим за отзыв. К сожалению, вызов at() не возвращает исходный элемент данных, он возвращает элемент данных, завернутый в ObservableObject.I хочу, чтобы он возвращал исходный элемент данных, чтобы я мог его обновить без необходимости поиска элемента в массиве, который был передан в источник данных. Я уточнил свой вопрос, чтобы прояснить проблему. – aw1975