首页 > 解决方案 > 第一次使用angularjs 1.6未在treeview kendo ui中选中父子复选框

问题描述

我已将 Kendo UI v2017.3.1206 ( http://www.telerik.com/kendo-ui ) 树视图与 angular 1.6 集成。

我有一个奇怪的问题,例如当我第一次单击任何父复选框时,它没有选择其子复选框,而第二次单击任何父复选框时,它工作正常。

我正在根据从下拉列表中选择的选项从数据库生成数据源。因此,当用户从下拉列表中更改选择时,我会在控制器中生成新的数据源并使用树视图重新绑定。

我的控制台上没有任何 javascript 错误。

我在控制器上配置了以下树视图选项:

我的控制器文件中的代码:

            vm.treeViewOptions = {
                dataSource: formatedDataSource,
                dataTextField: "text",
                checkboxes: {
                    checkChildren: true
                },
                loadOnDemand: false,
                expandAll: false,
                dataBound: function(e) {
                    if(e.node){
                        e.sender.expand(e.node);    
                    }

                },
                check: function(e) {
                    /* Change color to light blue for text if checkbox is checked for treeview */
                    var checkboxstatus = $(e.node).find("input:checkbox").prop('checked');
                    if (checkboxstatus) {
                        $(e.node).find('span.k-in').addClass('selectedItem');
                    } else {
                        $(e.node).find('span.k-in').removeClass('selectedItem');
                    }
                    setTimeout(function() {
                        $scope.$apply(function() {
                            vm.selectedPermissionCount = getCheckedItems(e.sender).length;
                        });
                    })
                },
                select: function(e) {
                    e.preventDefault();
                }
            }

我的 HTML 文件中的代码:

    <div id="treeview" class="float-left bd-x-0 bd-y-0" k-options="vm.treeViewOptions" k-rebind="vm.treeViewOptions" kendo-tree-view="tree">

请让我知道是否有任何解决方案。

标签: javascriptangularjskendo-uikendo-treeviewangular1.6

解决方案


推荐阅读