дерево джиит и узел фокуса - PullRequest
0 голосов
/ 24 января 2010

Я не могу заставить работать focusNode () или expandNode (). Я также попытался вернуться к додзё 1.32 и даже 1.3, без разницы до 1.4. И я отлаживал с помощью firebug, узел является допустимым узлом дерева и ошибок не возникает, но узел не будет сфокусирован Помощь очень ценится!

<head>
<script type="text/javascript">
    dojo.declare("itcTree",[dijit.Tree], {
         focusNodeX : function(/* string */ id)  {
                   var node=this._itemNodesMap[id];
                   this.focusNode(node);
         }
     });
    </script>
</head>

<body class="tundra">
    <div dojoType="dojo.data.ItemFileReadStore" jsId="continentStore" url="countries.json">
    </div>
    <div dojoType="dijit.tree.ForestStoreModel" jsId="continentModel" store="continentStore"
    query="{type:'continent'}" rootId="continentRoot" rootLabel="Continents"
    childrenAttrs="children">
    </div>
    <div dojoType="itcTree" id="mytree" model="continentModel" openOnClick="true">
        <script type="dojo/method" event="onClick" args="item">
            dijit.byId('mytree').focusNodeX('AF');
        </script>
    </div>
     <p>
    <button onclick="dijit.byId('mytree').focusNode('DE');">klick</button>
    </p>
</body>

Ответы [ 3 ]

1 голос
/ 18 апреля 2012

Вы должны использовать метод set следующим образом:

tree.set('path', ['2', '1', '7']);

при условии, что 2, 1, 7 - путь к данному узлу. И я должен упомянуть, что это идентичности элементов хранилища данных.

Посетите здесь для получения дополнительной информации: http://dojotoolkit.org/reference-guide/1.7/dijit/Tree-examples.html

1 голос
/ 27 января 2010

focusNode () принимает в качестве параметра dijit.TreeNode, а не текстовую строку.

Возможно, вы хотите использовать Tree.attr ("selectedItem", "DE").

0 голосов
/ 17 апреля 2010

Да, я нашел то же самое, вам нужно использовать узел [0]

var itemNode = tree._itemNodesMap["some_id"];
tree.focusNode(itemNode[0]);

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

Любые идеи на этот счет.

...