更新剑道树列表中的地图

时间:2018-07-04 09:42:00

标签: angularjs kendo-ui kendo-treelist

我有这个剑道树列表。我正在使用angular js。我想将选中的元素放入地图中。我成功做到了。这是我的剑道树列表:

$scope.getSpecificMenuDetails = function () {
    ProfileService.getSpecificMenuDetails().then(function (d) {
            $scope.NodeMenu = d;
            testNodeMenu=$scope.NodeMenu;
            dataSource = new kendo.data.TreeListDataSource({
                     data:testNodeMenu,
                      schema: {
                          model: {
                              id: "id"
                          }
                      },
                      reorderable: true,
                          resizable: true,
                          sortable: true,
                          filterable: true,
                          columnMenu: true
                  });

                  $scope.treelistOptions =
                    {
                        height: 300,
                        sortable: true,
                        pageable: true,
                        dataSource:   dataSource,
                        columns:
                        [
                            {field: "screen", expandable: true, title:"Screen"},
                        {field: "visible",title:"View", template: "<input type='checkbox' ng-model='dataItem.visible' ng-change='checkChildrenVisible(dataItem)' />"},
                    {field: "writable", title:"Modify", template: "<input type='checkbox' ng-model='dataItem.writable' ng-change='checkChildrenModify(dataItem)'  />" }

                        ],
                        check: function(e) {
                            console.log("Checking", e.node);
                          }

                      };             
    },
    function (errResponse) {
        console.error('Error while getting Specific Menu Details');
    });
    }

这是我的代码,用于从此列表中获取选中的元素:

var maMap = new Map();
        $scope.checkChildrenVisible = function(node) {
            maMap.set(node,node.screen);
            function check(nodes, state) {
                for (var i = 0; i < nodes.length; i++) {
                    nodes[i].set("visible", state);
                    check(dataSource.childNodes(nodes[i]), state);
                    maMap.set(nodes[i],nodes[i].screen);
                }
                console.log("maMap", maMap);
            }
            check(dataSource.childNodes(node), node.visible);

        };

我的问题是,当我想检索未选中的元素然后取消选中时,这意味着我想对包含选中元素列表的地图进行更新。很抱歉这个问题,但是我需要帮助,谢谢您的帮助。

0 个答案:

没有答案