У меня есть tabpanel, который содержит несколько вкладок. Здесь я сосредоточусь на 6-й вкладке - файле navigatingPanels.js. В этом файле у меня есть макет карты, так что пользователь может заполнить форму 1 & переместить в форму2 при отправке (слайд к форме2). У меня также есть закрепленная панель инструментов с обратной кнопкой, чтобы пользователь мог вернуться к form1 (при необходимости). Он дает ошибку - Ошибка при отсутствии: [ERROR] [Ext.Base # callParent] Недопустимый элемент: undefined, должен быть либо конфигурационным объектом для фабрики нового элемента, либо существующим экземпляром компонента. приложение можно увидеть здесь - http://maalguru.in/touch/Raxa-70/MyApp/Sencha Touch2 - Панели с макетом карты не работают
Update - Если добавить одну дополнительную карту к соответствующей панели, & удалить form1 & Form2 (необходимых панелей/карты), то он работает отлично. В этом случае я должен установитьActiveItem на нужные карточки (form1 & form2). Измененный Viewport - http://pastebin.com/P4k04dBQ Есть ли решение для достижения всего двух панелей/карт?
Viewport.js
Ext.define('MyApp.view.Viewport', {
extend: 'Ext.TabPanel',
xtype: 'my-viewport',
config:{
fullscreen: true,
tabBarPosition: 'bottom',
items: [
{
xclass: 'MyApp.view.navigatingPanels'
}
]
}
});
NavigatingPanels.js
Ext.define('MyApp.view.navigatingPanels',{
extend: 'Ext.Panel',
id: 'navigatingPanels',
xtype: 'navigatingPanels',
config:{
iconCls:'user',
title: 'Navigating Panels',
layout: 'card',
animation: {
type: 'slide',
direction: 'left'
},
defaults:{
styleHtmlContent: 'true'
},
items: [
{
docked: 'top',
xtype: 'toolbar',
title: 'Registeration Form',
items: [
{
text: 'Back',
ui: 'back',
align: 'centre',
//back button to take the user back from form2 to form1
handler: function() {
Ext.getCmp('navigatingPanels').setActiveItem(form1);
}
}
]
},
form1,
form2
]
}
});
var form1 = new Ext.Panel({
scrollable: 'vertical',
items:[
{
xtype: 'fieldset',
title: 'Form 1',
items: [
{
xtype: 'textfield',
label: 'Name',
name: 'name',
},
{
xtype:'button',
text:'Save Data & move to form2',
ui: 'confirm',
//TODO add some action: to store data
//save data & move to form2
handler: function() {
Ext.getCmp('navigatingPanels').setActiveItem(form2,{ type: 'slide', direction: 'right' });
console.log("Form1");
}
}
]
}
]
});
var form2 =new Ext.Panel({
scrollable: 'vertical',
items:[
{
xtype: 'fieldset',
title: 'Form 2',
items: [
{
xtype: 'textareafield',
label: 'Message',
name: 'message'
},
{
xtype:'button',
text:'Submit Data',
ui: 'confirm',
//TODO add some action: to store data
//action: 'Submit Data'
}
]
}
]
});
App.js
Ext.Loader.setConfig({
enabled: true
});
Ext.application({
name: 'MyApp',
controllers:['Main'],
launch: function() {
Ext.create('MyApp.view.Viewport', {fullscreen: true});
}
});
Ссылка не работает, но может возникнуть проблема с заказом, в котором они загружены. –
Да, я думаю, что причиной погрузки является причина этого, я иногда сталкиваюсь с этим и на моем локальном сервере. – Gaurav