Как использовать ActionSheet в ST2

Я хотел бы использовать лист действий, но не знаю, где его разместить. Я попытался добавить его в функцию события кнопки, но она не отображается (однако модальный экран показывает). Я получаю сообщение о том, что ActionSheet#show показывает компонент, который в настоящее время не имеет контейнера. Пожалуйста, используйте Ext.Viewport.add(), чтобы добавить этот компонент в окно просмотра. Не уверен, как это сделать - использование Ext.Viewport.add() у меня не работает - возможно, из-за моего макета, который:

У меня есть контроллер/представление видового экрана, который представляет собой макет карты. Когда я нажимаю кнопку, у меня есть функция в контроллере окна просмотра, которая загружает новый контроллер/карту просмотра в окне просмотра. Лист действий находится на одной из этих карточек. Приложение слишком большое для публикации, поэтому, надеюсь, оно имеет смысл.

Я попытался добавить лист действий в массив элементов представления, но не знаю, как его показать - создание ссылки на лист действий xtype не возвращает объект с помощью метода show (), кажется.

Изменить: после дополнительных экспериментов кажется, что проблема в том, что я помещаю его внутрь карты - контейнер макета карты имеет относительное положение, а лист действий - абсолютный - каким-то образом это приводит к тому, что лист действий уходит за пределы экрана. Установка контейнера карты в абсолютное исправляет это, но теперь у меня проблемы с позициями панели навигации. Предложения?

Так что немного застрял...


person cyberwombat    schedule 15.11.2011    source источник


Ответы (1)


Вот что вам нужно сделать, чтобы показать свой лист действий:

var actionSheet = Ext.create('Ext.ActionSheet', {
    items: [
        {
            text: 'Delete draft',
            ui  : 'decline'
        },
        {
            text: 'Save draft'
        },
        {
            text: 'Cancel',
            ui  : 'confirm'
        }
    ]
});

Ext.Viewport.add(actionSheet);
actionSheet.show();
person Titouan de Bailleul    schedule 20.05.2012
comment
И как вы получаете кнопку, которая была выбрана? - person Tony O'Hagan; 03.04.2013