0

ツリー パネルにファイル システムを表示しようとしています。ツリーにjsonデータをフィードすると、完全に機能します!

しかし、空のフォルダーがある場合、ツリー フォルダー (デプロイ時) には完全なツリーが再び表示されます。私のサーバーでは、子プロパティを持たないjsonファイルを送信します。

これは私のツリーコードです

Ext.onReady(function () {
    var treeStore = Ext.create('Ext.data.TreeStore', {
        proxy: {
            type: 'ajax',
            url: '/File/Tree'
        },
        root: {
            text: 'Files root',
            id: 'root',
            expanded: true
        }
    });
    var treeUp = Ext.create('Ext.tree.Panel', {
        id: 'TreeFileSystem',
        title: 'TEST',
        useArrows: true,
        store: treeStore,
        rootVisible: false,
        renderTo: 'Tree',
        height: 350,
        listeners: {
            itemClick: function (view, record) {
            }
        }
    });
});

私のjsonコードの例があります

[
{"cls":"first-level","expanded":"false","children":[
    {"cls":"first-level","expanded":"false","children":[
        {"leaf":"true","text":"..."},
        {"leaf":"true","text":"..."}
        ],"text":"..."}
    ],"text":"..."},
{"text":"..."}]

誰かが私を助けるためのアイデアを持っていますか?

ありがとう!

デビッド

編集:

私のJSONの他の例

[
{"path":"...","cls":"first-level","expanded":"false","children":[
    {"path":"...","cls":"first-level","expanded":"false","children":[
        {"path":"...","cls":"first-level","expanded":"false","children":[],"text":"BOBFOLDER1"},
        {"path":"...","cls":"first-level","expanded":"false","children":[],"text":"BOBFOLDER2"},
        {"path":"...","cls":"first-level","expanded":"false","children":[],"text":"BOBFOLDER3"}
    ],"text":"BOB"},
    {"path":"...","cls":"first-level","expanded":"false","children":[
        {"path":"...","expanded":"false","text":"OTHERFOLDER1"}
    ],"text":"OTHER"}
],"text":"20508322"}]

私はそれを説明します-> BOBFOLDER1、BOBFOLDER2、BOBFOLDER3にはファイルが含まれており、矢印がありません(展開できず、それは良い動作です)。しかし、OTHERFOLDER1にはファイルが含まれておらず、ルートを再度表示する矢印があります(コメントで与えた私の写真と同じです)それが問題です!

4

2 に答える 2

0

すべてのノードで Loaded: true を設定してみてください (または、モデル構成を使用する場合は、モデルに「loaded」のフィールドを作成し、デフォルトで true に設定します。

于 2012-09-19T17:35:11.720 に答える
0

という名前のノードはOTHER、非リーフ ノードとして表示されます。"leaf":"true"対応する JSON データに置きます。

すなわち

[
{"cls":"first-level","expanded":"false","children":[
    {"cls":"first-level","expanded":"false","children":[
        {"leaf":"true","text":"..."},
        {"leaf":"true","text":"..."}
        ],"text":"..."}
    ],"text":"BOB"},
{"text":"OTHER","leaf":"true"}]
于 2012-09-19T13:07:54.860 に答える