我使用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");
}
}
},
});
}