将列表添加到 Sencha 触摸屏

发布于 2024-12-23 06:23:25 字数 1154 浏览 3 评论 0原文

我已经尝试了两天向 Sencha Touch 中的一个选项卡添加列表或 NestedList,但我做不到:( 我的选项卡代码是:

Darsnameh.views.Coursecard = Ext.extend(Ext.Panel,{
    title: "Courses",
    iconCls: "bookmarks",
    style:"background:red",
    dockedItems:[{
        xtype:'toolbar',
        title:'Courses'
    }]
})

Ext.reg('coursecard',Darsnameh.views.Coursecard);

我的列表代码是

Ext.regModel('Contact',{
    fields:['firstName','lastName']
});

Darsnameh.CoursesStore = new Ext.data.Store({
    model: 'Contact',
    data:[
        {firstName:'Domino', lastName:'Derval' },
        {firstName:'Domino2', lastName:'Derval2' },
        {firstName:'Domino3', lastName:'Derval3' },
        {firstName:'Domino4', lastName:'Derval4' },
        {firstName:'Domino5', lastName:'Derval5' },
        {firstName:'Domino6', lastName:'Derval6' }
    ]

});
Darsnameh.coursesList = new Ext.List({
    id:'courseslist',
    store: Darsnameh.CoursesStore,
    itemTpl:'<div class="contact">{firstName}</div>'
});

当我添加任何类似

items:[Darsnameh.coursesList]

应用程序页面的内容 时空白且未显示任何内容,我应该添加什么才能在选项卡中包含列表或嵌套列表?

I've been trying for two days to add a list or NestedList to one of my tabs in Sencha Touch and I can't do it :( My tab code is:

Darsnameh.views.Coursecard = Ext.extend(Ext.Panel,{
    title: "Courses",
    iconCls: "bookmarks",
    style:"background:red",
    dockedItems:[{
        xtype:'toolbar',
        title:'Courses'
    }]
})

Ext.reg('coursecard',Darsnameh.views.Coursecard);

and my list code is

Ext.regModel('Contact',{
    fields:['firstName','lastName']
});

Darsnameh.CoursesStore = new Ext.data.Store({
    model: 'Contact',
    data:[
        {firstName:'Domino', lastName:'Derval' },
        {firstName:'Domino2', lastName:'Derval2' },
        {firstName:'Domino3', lastName:'Derval3' },
        {firstName:'Domino4', lastName:'Derval4' },
        {firstName:'Domino5', lastName:'Derval5' },
        {firstName:'Domino6', lastName:'Derval6' }
    ]

});
Darsnameh.coursesList = new Ext.List({
    id:'courseslist',
    store: Darsnameh.CoursesStore,
    itemTpl:'<div class="contact">{firstName}</div>'
});

When I add anything like

items:[Darsnameh.coursesList]

the application page is blank and nothing is shown, what should I add to have the list, or nested list in a tab?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Smile简单爱 2024-12-30 06:23:25
In accordance to my previous answer i've added how to create list panel... just have a look at this

      NotesApp.views.noteEditor = new Ext.form.FormPanel({
        id:'noteEditor',
        items: [
            {
                xtype: 'textfield',
                name: 'title',
                label: 'Title',
                required: true
            },
            {
                xtype: 'textareafield',
                name: 'narrative',
                label: 'Narrative'
            } ,
        ],
          dockedItems: [
            NotesApp.views.noteEditorTopToolbar,
        ]
      });

      NotesApp.views.noteEditorTopToolbar = new Ext.Toolbar({
          title: 'Edit Note',
          items: [
              {
                  text: 'Save',
                  ui: 'action',
                  handler: function () {
                            var noteEditor = NotesApp.views.noteEditor;
                            var currentNote = noteEditor.getRecord();
                            noteEditor.updateRecord(currentNote);
                            var errors = currentNote.validate();
                            if (!errors.isValid()) {
                                Ext.Msg.alert('Wait!', errors.getByField('title')[0].message, Ext.emptyFn);
                                return;
                            }
                            var notesList = NotesApp.views.notesList;
                            var notesStore = notesList.getStore(); // where i've declared my store
                            if (notesStore.findRecord('id', currentNote.data.id) === null) {
                                notesStore.add(currentNote);
                            } else {
                                currentNote.setDirty();
                            }
                            notesStore.sync();
                  }
              }
          ]
      }); 

            var NotesStore=new Ext.data.Store({
                model: 'Note',
                storeId:'noteid',
                sorters: [{
                    property: 'date',
                    direction: 'DESC'
                }],
                proxy: {
                    type: 'localstorage',
                    id: 'notes-app-localstore'
                },
           });  
            NotesApp.views.notesList = new Ext.List({
                id: 'notesList',
                store: NotesStore,

                itemTpl: '<div class="list-item-title">{title}</div>'+
                    '<div class="list-item-narrative">{narrative}</div>',
                onItemDisclosure:function(listrecord){
                 var selectedNote = listrecord;
                  NotesApp.views.noteEditor.load(selectedNote);
                  NotesApp.views.viewport.setActiveItem('noteEditor', { type: 'slide', direction: 'left' });
                },
                 listeners: {
                        'render': function (thisComponent) {
                             thisComponent.getStore().load();
                        }
              }    
            });
In accordance to my previous answer i've added how to create list panel... just have a look at this

      NotesApp.views.noteEditor = new Ext.form.FormPanel({
        id:'noteEditor',
        items: [
            {
                xtype: 'textfield',
                name: 'title',
                label: 'Title',
                required: true
            },
            {
                xtype: 'textareafield',
                name: 'narrative',
                label: 'Narrative'
            } ,
        ],
          dockedItems: [
            NotesApp.views.noteEditorTopToolbar,
        ]
      });

      NotesApp.views.noteEditorTopToolbar = new Ext.Toolbar({
          title: 'Edit Note',
          items: [
              {
                  text: 'Save',
                  ui: 'action',
                  handler: function () {
                            var noteEditor = NotesApp.views.noteEditor;
                            var currentNote = noteEditor.getRecord();
                            noteEditor.updateRecord(currentNote);
                            var errors = currentNote.validate();
                            if (!errors.isValid()) {
                                Ext.Msg.alert('Wait!', errors.getByField('title')[0].message, Ext.emptyFn);
                                return;
                            }
                            var notesList = NotesApp.views.notesList;
                            var notesStore = notesList.getStore(); // where i've declared my store
                            if (notesStore.findRecord('id', currentNote.data.id) === null) {
                                notesStore.add(currentNote);
                            } else {
                                currentNote.setDirty();
                            }
                            notesStore.sync();
                  }
              }
          ]
      }); 

            var NotesStore=new Ext.data.Store({
                model: 'Note',
                storeId:'noteid',
                sorters: [{
                    property: 'date',
                    direction: 'DESC'
                }],
                proxy: {
                    type: 'localstorage',
                    id: 'notes-app-localstore'
                },
           });  
            NotesApp.views.notesList = new Ext.List({
                id: 'notesList',
                store: NotesStore,

                itemTpl: '<div class="list-item-title">{title}</div>'+
                    '<div class="list-item-narrative">{narrative}</div>',
                onItemDisclosure:function(listrecord){
                 var selectedNote = listrecord;
                  NotesApp.views.noteEditor.load(selectedNote);
                  NotesApp.views.viewport.setActiveItem('noteEditor', { type: 'slide', direction: 'left' });
                },
                 listeners: {
                        'render': function (thisComponent) {
                             thisComponent.getStore().load();
                        }
              }    
            });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文