1

ドラッグアンドドロップを使用して、 TreeGridの例に似たツリーパネルを作成していました。唯一の問題は、Firefoxブラウザのツリーパネルにアイテムが正しく表示されているのに対し、Chromiumではツリーグリッドが空であるということです。どうしてそれが可能ですか?

サーバーに送信されるJSONデータ:

{"text":".","children": [
        {
                "id":null,
                "name":"en",
                "visible":false,
                "expanded":true,
                "leaf":false,
                "children":{
                        "id":5,
                        "name":"/",
                        "visible":false,                        
                        "expanded":true,
                        "leaf":true,
                        "children":[]                        
                }
        }]
}

モデル

Ext.define('Example.model.WebTreeItem', {
    extend: 'Ext.data.Model',
    idProperty: 'id',
    fields: [
        {name: 'id',        type: 'int',    defaultValue: 0},
        {name: 'visible',   type: 'boolean' },
        {name: 'name',      type: 'string'  }
    ]
});

Ext.define('Example.store.WebTreeItems', {
    extend: 'Ext.data.TreeStore',
    model: 'Example.model.WebTreeItem',    
    autoLoad: true,
    proxy: {
        type: 'ajax',
        api: {
            read : 'getlist.json'
        },
        reader: {
            type: 'json'
        }
    }
});

意見

Ext.define('Example.view.webitem.Tree', {
    extend: 'Ext.tree.Panel',
    alias : 'widget.webtreeitem',

    title : 'Web items',
    store: 'WebTreeItems',
    rootVisible: false,
    multiSelect: true,
    singleExpand: false,
    collapsible: true,
    selModel: Ext.create('Ext.selection.CheckboxModel'),
    height: 800,
    renderTo: 'webstructure-tree',
    columns: [{
        xtype: 'treecolumn',
        text: 'Name',
        flex: 2,
        sortable: true,
        dataIndex: 'name'
    },{
        xtype: 'booleancolumn',
        text: 'Visible',
        flex: 1,
        dataIndex: 'visible',
        sortable: false
    }],
    viewConfig: {
        plugins: {
            ptype: 'treeviewdragdrop'
        }
    }]
});

依存関係は、を使用して自動的に読み込まれます

Ext.Loader.setConfig({enabled:true});

Ext.application({
 ...
});

任意の提案をいただければ幸いです。

4

1 に答える 1

0

さて、前述のJSONを送信していると思っていたのですが、実際はこのようなもの(引用符で囲まれた応答)を送信していて、Chromiumが正しく読み取れませんでした。

"{\"text\":\".\",\"children\": [
        {
                \"id\":null,
                \"name\":\"en\",
                \"visible\":false,
                \"expanded\":true,
                \"leaf\":false,
                \"children\":{
                        \"id\":5,
                        \"name\":\"/\",
                        \"visible\":false,                        
                        \"expanded\":true,
                        \"leaf\":true,
                        \"children\":[]                        
                }
        }]
}"
于 2011-08-13T12:28:28.980 に答える