1

我正在使用 Extjs 树,单击对服务器的嵌套节点 ajax 请求时遇到问题,我知道这种延迟加载,但我的树不大,大约 35 个项目,所以我希望请求服务器时间只收集所有树节点和项目。任何想法?

看法:

Ext.define('CRM.view.role.RoleTree' ,{
extend: 'Ext.tree.Panel',
alias: 'widget.roleTreeList',
id:'tree-role-panel',
split: false,
autoScroll: true,
lines: true,
singleExpand: false,
store: 'RoleList'

})

店铺:

Ext.define('CRM.store.RoleList', {
extend: 'Ext.data.TreeStore',
storeId: 'RoleTreeStoreId',
//model: 'CRM.model.RoleList',
autoLoad: false,
proxy: {
            type  : 'ajax',
            url   : 'index.php/role/getRoleList',
            async : false,
            reader: {
                type   : 'json',
                method : 'POST'
            }
},
root:{
    expanded:true,
    text:"Organization",
    leaf:'false',
     id       : '/',
}

})

json返回:

{
"text": "Organization",
"id": "role-1",
"children": [
    {
        "text": "Admin",
        "id": "role-12",
        "expanded": "true",
        "children": [
            {
                "text": "MSD",
                "id": "role-23",
                "children": [
                    {
                        "text": "Customer Care Manager",
                        "id": "role-4",
                        "children": [
                            {
                                "text": "Customer Care Adviser",
                                "id": "role-5"
                            }
                        ]
                    },
                    {
                        "text": "Solution Adviser",
                        "id": "role-7"
                    },
                    {
                        "text": "Sales Manager",
                        "id": "role-31",
                        "children": [
                            {
                                "text": "Solution Sales",
                                "id": "role-6"
                            },
                            {
                                "text": "Teritory 01 - Safy",
                                "id": "role-9",
                                "children": [
                                    {
                                        "text": "Sales Person 01",
                                        "id": "role-10"
                                    },
                                    {
                                        "text": "Sales Trainee 01",
                                        "id": "role-26"
                                    }
                                ]
                            },
                            {
                                "text": "Teritory 3 - Sambo",
                                "id": "role-11",
                                "children": [
                                    {
                                        "text": "Sales Person 3",
                                        "id": "role-13"
                                    }
                                ]
                            },
                            {
                                "text": "Teritory 4 - Narong",
                                "id": "role-14",
                                "children": [
                                    {
                                        "text": "Sales Team 4",
                                        "id": "role-15",
                                        "children": [
                                            {
                                                "text": "Sales Person 4",
                                                "id": "role-25"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "text": "branch shv",
                                "id": "role-16",
                                "children": [
                                    {
                                        "text": "sales shv",
                                        "id": "role-19"
                                    }
                                ]
                            },
                            {
                                "text": "branch btb",
                                "id": "role-17",
                                "children": [
                                    {
                                        "text": "sales btb",
                                        "id": "role-20"
                                    }
                                ]
                            },
                            {
                                "text": "branch srp",
                                "id": "role-18",
                                "children": [
                                    {
                                        "text": "sales srp",
                                        "id": "role-21",
                                        "children": [
                                            {
                                                "text": "sales person srp",
                                                "id": "role-28"
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "text": "Retention Program",
                                "id": "role-22",
                                "children": [
                                    {
                                        "text": "Retention Program Analysist",
                                        "id": "role-24"
                                    }
                                ]
                            },
                            {
                                "text": "Sales Trainee",
                                "id": "role-27"
                            },
                            {
                                "text": "Enterprise Sales Engineer",
                                "id": "role-29"
                            },
                            {
                                "text": "Meas Test",
                                "id": "role-30"
                            },
                            {
                                "text": "Teritory 02 - Kol",
                                "id": "role-32",
                                "children": [
                                    {
                                        "text": "Sales Person 02",
                                        "id": "role-8"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            {
                "text": "CTO",
                "id": "role-35",
                "children": [
                    {
                        "text": "Support Manager",
                        "id": "role-2",
                        "children": [
                            {
                                "text": "Technical Support Adviser",
                                "id": "role-3"
                            }
                        ]
                    },
                    {
                        "text": "IT BIlling Product Manager",
                        "id": "role-33",
                        "children": [
                            {
                                "text": "IT Staff",
                                "id": "role-34"
                            }
                        ]
                    }
                ]
            },
            {
                "text": "Business Consultant",
                "id": "role-36"
            }
        ]
    }
]

}

4

2 回答 2

0

您仍然可以使用异步调用,但只能使用一次。为确保只打了一个电话,请在第一个电话中返回所有孩子。Extjs 将加载所有提供的子项。

于 2013-06-28T12:49:46.163 回答
0

我发现我的 JSON 错误,我应该根据有孩子或没有孩子来添加属性“leaf = true/false”。

于 2013-06-29T02:00:29.117 回答