Sencha Touch: панель инструментов внутри TabPanel - PullRequest
0 голосов
/ 05 октября 2011

Я новичок в Sencha Touch и просто пытаюсь поместить панель инструментов внутри TabPanel.Я делаю это, потому что TabPanel будет моей основной навигацией, а панель инструментов будет обеспечивать несколько операций, связанных с контентом, таких как создание новой домашней работы или чего-то подобного.

Вот мое «решение», которое, к сожалению, нет работа.Появляется TabPanel, и "Hello World" тоже делает это, но панели инструментов не будет.

var tapHandler = function(btn, evt) {
alert("Button "+btn.text+" tapped");
}

var HomeScreen = new Ext.Panel({
fullscreen: true,
dockedItems: [
    {
        xtype: "toolbar",
        title: "buttons",
        ui: "light",
        dock: "bottom",
        items: [
            {ui: "action", text: "Add"}
        ],
        defaults: {
            handler: tapHandler
        }
    }
],
html: "Hello World"
});

new Ext.Application({
name: "Hello World",

launch: function() {
    var tabPanel = new Ext.TabPanel({
        fullscreen: true,
        ui: 'dark',
        sortable: true,
        items: [
            {
                title: "Home",
                html: "Loading..."
            }
        ]
    });
    tabPanel.items.get(0).update(HomeScreen, true);
}
});

У вас есть какие-нибудь решения?

Привет, Мартин

1 Ответ

1 голос
/ 05 октября 2011

Я думаю, что проблема здесь может заключаться в том, что метод update () ожидает строку HTML, а HomeScreen - это Ext.Panel.

Если бы это был я, я бы добавил HomeScreen в коллекцию элементовв tabPanel либо используя переменную, подобную этой:

    items: [
         HomePanel                              
    ]

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

items: [{
    xtype: "panel",
    html: "Hello world",
    dockedItems: [{
        // You toolbar definition
    }]
}]

, либо используя метод TabPanel.add ():

tabPanel.add(HomePanel);
...