从Sencha touch中的列表创建另一个列表

时间:2012-04-17 15:18:04

标签: json jsonp sencha-touch-2

我被困在看似简单的事情上,

我是整个Sencha触控环境的新手,仍然需要了解很多事情。

这是我面临的问题,

我已经从Sencha主页构建了gettingStarted应用程序,这个应用程序非常简单,可以从JSON数据加载一个列表。单击列表中的项目时,它会显示所选项目的HTML内容

我想要做的是创建另一个列表,以便

1-在启动时列出一个负载 2-单击列表1中的项目时,它会加载另一个列表2 3-在cicking列表2上,它加载HTML内容。

我已经编写了webservice来将数据作为JSON返回,基于此我想构建第二个列表。

我在itemTap上调用了一个函数“showPost”,它看起来像这样:

 showPost: function(list, index, element, record){
    Ext.Ajax.request({
        url: 'http://localhost/mobig/ws/search.php?cat='+record.get('category'),            
        success: function(response){
            var text = response.responseText;
            var responses = Ext.JSON.decode(response.responseText);

            alert(responses.posts[0].title);
        }
    });

我也有,这个:

    this.getBlog().setData({
        xtype:'panel',
        title:record.get('category'),
        html:'<img src='+record.get('imageURL')+'/>',
        scrollable:true,
        styleHTMLContent:true
    });
}   

从列表1加载HTML内容。

先谢谢你的帮助,对不好的英语感到抱歉,

如果你能指出一些例子,这将是一个学习的好地方。

谢谢! 莫。

2 个答案:

答案 0 :(得分:0)

听起来你想要设置一个嵌套列表。 Here's the nested list tutorial,它应该指向正确的方向。

答案 1 :(得分:0)

节省时间最方便的方法是使用 Ext.NestedList ,但我不推荐它,因为Sencha Touch 2中目前的嵌套列表性能仍然非常糟糕(滚动,事件捕获)等等),如果你更关心性能,你应该使用 2分隔的Ext.List ,例如。 list_one与store_one和list_two与store_two,当list_one触发itemtap事件,捕获record参数并处理它(可能通过阅读TreeStore,或编写自己的API,如{{3} })

希望它有所帮助。