第一次如果检查父节点,则既不会检查父节点,也不会检查子节点

时间:2019-04-04 12:07:20

标签: kendo-ui kendo-treeview kendo-ui-window

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

0 个答案:

没有答案