这个问题是我昨天在 Telerik 论坛上发布的这篇帖子的镜像。
我有一个带有 HierarchicalDataSource 的 TreeView,我的问题很简单:我可以访问 transport.read 函数中的当前 dataItem 吗?
例如,考虑以下代码:
new kendo.data.HierarchicalDataSource({
transport: {
read: function(options) {
// Here i'll prepare my url to be called
return "my/controller/" + dataItem.Id;
}
}
});
我想在读取函数中访问当前扩展节点的 dataItem 属性。这可能吗?
我尝试了很多方法,但是该函数内部的范围使我无法访问它之外的任何内容。
更新:
@OnaBai 建议与 - 在我的情况下 -Value
属性一起使用,给定以下模型:
{
id: "Value",
hasChildren: "HasChildren"
};
但我希望能够访问更多内容,而不仅仅是Id
整个dataItem
. 我尝试将 dataItem 的 - 或请求 - 属性添加到模型中,但它不起作用:
{
id: "Value",
hasChildren: "HasChildren",
fields: {
ParentId: { type: "string" }
}
};
ParentId
来自 resquest 及其在 中的可访问性dataItem
,但不是在options
内部read
函数中。还有另一种方法吗?
更新 2:
通过将模型的 id 设置为uid
:
{
id: "uid"
}
该函数将接收 uid,然后您可以从 dataSource 获取它,例如dataSource.getByUid()
.