0

列表选择或披露的新视图

我认为有很多方法可以处理列表中的功能选择或披露。我确实在 sencha 的文档中看到了 vimeo 教程。但是,如果可能的话,我不想使用 controller.js,因为我只有 2 或 3 个项目。

当我点击项目或披露时如何推送视图?我尝试了所有 ext.create、Ext.ComponentManager.get('listdetails').push(... 我有一个带有 xtype:'listdetails' 的 listdetails.js。

帮助和感谢^^

主.js

Ext.define('easylist.view.Main', {
          extend: 'Ext.tab.Panel',
          requires: [
              'Ext.navigation.View',
              'Ext.dataview.List',
              'Ext.data.Store'
          ],

        config: {
            items: [
                {
                    xtype: 'container',
                    title: 'Tab 1',
                    iconCls: 'info'
                },
                {
                    xtype: 'container',
                    title: 'Tab 2',
                    iconCls: 'info'

                },
                {
                    xtype: 'container',
                    title: 'Tab 3',
                    iconCls: 'info'
                },
                {
                    xtype: 'navigationview',
                    title: 'MyNavigationView',
                    iconCls: 'info',
                    items: [
                        {
                            xtype: 'list',
                            title: 'uyuyuy',

                            store: {
                                  fields: ['name'],
                                  data: [
                                    {name: 'Cowper'},
                                    {name: 'Everett'},
                                    {name: 'University'}                                
                                  ]
                                },
                                onItemDisclosure: true,


                                itemTpl: '{name}',
                                listeners: {
                                    select: function(view, record) {
                                        navview = view.up('navigationview'),
                                         navview.push({How can I view lisdetail1.js     or 2, or 3 depending onselect?????})      
                                    },
                                   // disclose: function(view, record) {
                                   //     Ext.Msg.alert('Selected!', 'You selected ' + //record.get('name'));                                    
                           //         }
                                }

                            }
                    ]
                }
            ],
            tabBar: {
                docked: 'bottom'
            }
        }

    });
4

1 回答 1

0

试试这个

listeners: [
        {
            fn: 'onMylistItemSingletap',
            event: 'itemsingletap',
            delegate: '#mylist'
        }
    ],
onMylistItemSingletap: function(dataview, index, target, record, e, options) {
    var nav=dataview.up('navigationview');
    if(index==0){
        nav.push({
            xtype: 'listdetail1'
        });
    }
    else if(index==1){
        nav.push({
            xtype: 'listdetail2'
        });
    }    
    else if(index==2){
        nav.push({
            xtype: 'listdetail3'
        });
    }    
}

希望对你有帮助^^

于 2012-09-09T09:37:41.640 回答