Sencha Touch Список панели - PullRequest
       0

Sencha Touch Список панели

0 голосов
/ 19 сентября 2011

У меня установлено приложение, и на моей странице / экране мотыги есть несколько ссылок.Когда я нажимаю на ссылку, она отображает список элементов (например, список контактов), а затем снова подробное представление, когда щелкают также и элементы списка.

У меня есть следующие настройки:

  App.views.Viewport = Ext.extend(Ext.Panel, {
   fullscreen: true,
   layout: 'card',
   cardSwitchAnimation: 'slide',
   dockedItems: [
       {
        dock : 'top',
        xtype: 'toolbar',
        title: '<img src="res/img/generic/TT_Small.png" />',
        cls: 'homeHeader'
       },
    ],

 });

и требуемое представление в виде списка:

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

  var store = new Ext.data.JsonStore({
  model : 'Contact',
  root: 'images',
  sorters: 'firstName',

  getGroupString : function(record) {
  return record.get('firstName')[0];
  },


  data: [
  {firstName: 'Tommy', lastName: 'Maintz'},
  {firstName: 'Rob', lastName: 'Dougan'},
  {firstName: 'Ed', lastName: 'Spencer'},
  {firstName: 'Jamie', lastName: 'Avins'},
  {firstName: 'Aaron', lastName: 'Conran'},
  {firstName: 'Dave', lastName: 'Kaneda'},
  {firstName: 'Michael', lastName: 'Mullany'},
  {firstName: 'Abraham', lastName: 'Elias'},
  {firstName: 'Jay', lastName: 'Robinson'}
  ]
  });

var list = new Ext.List ({fullscreen: true, itemTpl: '{firstName} {lastName}', сгруппированный: true, indexBar: false,

  store: store
  });

Я использую простой «контакт», например, для начала, чтобы при запуске я изменил свои данные и т. д. по мере необходимости, но когда я нажму на ссылку наперейти к этой точке зрения я получаю следующее

  Uncaught Attempting to create a component with an xtype that has not been registered: HomeAbout

Но в моем контроллере у меня есть:

  about: function()
{
    if ( ! this.aboutView)
    {
        this.aboutView = this.render({
            xtype: 'HomeAbout',
        });
    }.....

Любые идеи или помощь будут оценены

1 Ответ

1 голос
/ 19 сентября 2011

Первое изменение:

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

до

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

Тогда имейте это

App.views.HomeAbout = Ext.extend(Ext.List, { 
    fullscreen: true,
    itemTpl : '{firstName} {lastName}',
    grouped : true,
    indexBar: false, 
    store: store
});

вместо var list...

и, наконец, reg новый xtype - класс, который расширяет класс sencha-touch по умолчанию - вот так

Ext.reg('HomeAbout', App.views.HomeAbout);
...