为嵌套列表设置 LocalStorage 存储

Setting LocalStorage store for nested list

我创建了一个本地存储存储,并按照本教程在其中存储了演示值:

http://sureshdotariya.blogspot.com/2013/03/understanding-local-storage-proxy-in.html

一切正常,我查看了 chrome 中资源中的商店数据,它就在那里,当我加载页面时它加载正常,没有错误,但没有显示任何数据,这是我的查看代码:

Ext.define('MyTest.view.SearchPanel', {
    extend: 'Ext.Panel',
    xtype: 'searchpanel',
    config: {
        layout: 'fit',
        items: [
        {
            xtype: 'nestedlist',
            title: 'Search Results',
            displayField: 'Name',
            store: {     
                storeId: 'UserStore',
                fields: ['Name']
            },
        }]
    }
});

我在这里错过了什么?我可以使用本地存储存储作为嵌套列表的存储吗?如果是,那么为什么它显示 "No items found",我已经在 app.js 中添加了商店,我尝试在此视图中要求它,但那没有用。

感谢您的帮助,谢谢。

Ext.dataview.NestedList requires Ext.data.TreeStore instead of Ext.data.Store(在您提供的示例 URL 中)。

Ext.data.TreeStore中需要rootdefaultRootProperty配置,在项目中leaf属性。

当然你可以在Ext.data.TreeStore中设置Ext.data.proxy.LocalStorage作为代理,试试这些代码:

Ext.define('ListApp.model.User', {
     extend: 'Ext.data.Model',
     config: {
         fields: [{
             name: 'text',
             type: 'string'
         }]
     }
 });
Ext.define('App.store.User', {
    config: {
        model: 'ListApp.model.User',
        defaultRootProperty: 'items',
        root: data
        proxy: {
            type: 'localstorage',
            id: 'UserInfo'
       }
    }
});