我使用 Telerik kendo-tree-view 显示弹出窗口,其中所有父节点都在那里作为复选框。所以当我应该检查父节点时,它应该自动展开并检查所有子节点。但没有发生这样的问题,问题只是第一次从第二次开始工作正常。
当我第一次检查父节点时,它会展开并具有所有子节点但未检查。请参阅 Html 部分下面的代码:
<div class="col-md-10 col-sm-10 remove-padding" id="parent">
<div style="height: 300px;overflow-y: auto;border:1px solid black" id="adminTreeView" kendo-tree-view="tree"
k-data-source="rc.adminTreeData"
k-options="rc.adminTreeOptions" tabindex="3">
</div>
</div>
角部分:
rc.adminTreeOptions = {
dataTextField: 'DisplayName',
checkboxes: {
checkParent:true,
checkChildren: true
},
check: onCheck,
};
rc.GetResourcePermission = function (roleId) {
rc.adminTreeData = new kendo.data.HierarchicalDataSource({
transport: {
read: function (e) {
var id = e.data.Id || 0;
roleService.getHierarchyResourceByParentId(id, roleId, (rc.SelectedClient == '' ? null : rc.SelectedClient), CurrentAppId).then(function (response) {
e.success(response);
});
}
},
schema: {
model: {
id: "Id",
hasChildren: "HasChild"
},
parse: function (response) {
return $.map(response, function (x) {
x.checked = x.Checked;
return x;
});
}
},
requestEnd: function () {
if (roleId != 0) {
if (angular.element("#adminTreeView").data("kendoTreeView") && angular.element("#adminTreeView").data("kendoTreeView").expand) {
angular.element("#adminTreeView").data("kendoTreeView").expand(".k-item");
}
}
},
});
}