Получить метку или имя выбранного узла в дереве Dojo - PullRequest
0 голосов
/ 02 мая 2019

Я новичок в додзё.У меня есть требование, в котором мне нужно получить метку выбранного узла в дереве додзё.

Как мне достичь этого сценария?

Примечание: у меня есть флажок на узле дерева как на родительском уровне, так и на родительском уровне.детский уровень.я хочу получить метку get только для выбранного узла.

Заранее спасибо.

Я попытался получить свойство treeNode и checkbox, у которого есть innertText, где присутствует метка, но не выводится.

var systemModel = new ObjectStoreModel ({store: new Observable (attributeStore), запрос: {id: "root_" + sysId + '_' + versionNum}, deferItemLoadingUntilExpand: true, mayHaveChildren: function (item) {return)(item.level <6);}}); </p>

                        // Create System version Tree
                        var systemTree = new Tree({
                            colspan: 5,
                            class: 'systemTreeWidget',
                            model: systemModel,
                            showRoot: false,
                            getLabel: function(item) {
                                return item.name;
                            },
                            getTooltip: function(item) {
                                if(item.parent == 'root') {
                                    return "";
                                } else {
                                    return item.name;
                                }                       
                            },                                  
                            getIconClass: function(item, opened) {
                                return item.iconType;

                            },
                            _createTreeNode: function (args) {
                                var tnode = new Tree._TreeNode(args);
                                tnode.labelNode.innerHTML = args.label;
                                console.log("tnode.labelNode.innerHTML:"+tnode.labelNode.innerHTML) 

                                    var cb = new CheckBox({             
                                        name: "availablePChk",                      
                                        value:args.item.id+":"+args.item.name+":"+args.item.parent+":"+ args.item.type                      
                                    });                             
                                    cb.placeAt(tnode.labelNode, "first");
                                    tnode.checkBox = cb;

                                    connect.connect(cb, "onChange", function () {
                                        debugger
                                        var treeNode = dijit.getEnclosingWidget(this.domNode.parentNode);                           
                                        console.log("treeNode:"+treeNode)   
                                        connect.publish("/checkbox/clicked", [{
                                            "checkbox": this,
                                            "item": treeNode.item
                                        }]);

                                        var id = tnode.domNode.id;
                                        var isNodeSelected = tnode.checkBox.get('checked');

// tab.query ('#' + id + '.dijitCheckBox'). forEach (function (node) {treeNode.getChildren ().forEach (function (node) {// dijit.getEnclosingWidget (node) .set ('флажок', isNodeSelected); var child = dijit.getEnclosingWidget (узел); child.set ('флажок', isNodeSelected);});});

                                return tnode;
                            }
                        }); 
                        systemTree.startup();

Я хочу имя выбранного узла дерева, чекбокс которого выбран.

...