Как я могу отобразить поле выбора «sencha» при использовании наложения? - PullRequest
0 голосов
/ 14 февраля 2012

В настоящее время у меня есть настройка, при которой вы нажимаете кнопку и отображается наложение.Наложение выглядит следующим образом:

this.popup = new Ext.Panel({
    floating: true, modal: true, centered: true, width: 600, height: 400,
    items: [
        {
            xtype: 'toolbar',
            title: 'Custom Search',
            docked: 'top'
        },
        new Ext.field.Select({
            label: 'abc', name: 'asz', options: [...]
        })
    ]
});

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

Я бы никогда не подумал, что в sencha я мог бы потратитьтак много часов, пытаясь поместить поле выбора на оверлей.Эта проблема, по-видимому, возникает как в Chrome, так и в Safari (ipad)

И код оверлея, и поле выбора были в основном взяты отсюда http://dev.sencha.com/deploy/touch/examples/kitchensink/

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Я не уверен, что вы имеете в виду 1.x или 2.x.Вы используете Ext.field.Select, который является классом 2.x, но вы указываете на примеры 1.x ..

Если вы говорите о Sencha Touch 2, ваш код должен просто работать.Однако я знаю, что была ошибка с одним из PR, где он не работал.

Я проверил это с бета-версией 3, и она работает как предложено:

this.popup = Ext.create('Ext.Panel', {
    floating: true,
    modal: true,
    centered: true,
    width: 600,
    height: 400,
    items: [
        {
            xtype: 'toolbar',
            title: 'Custom Search',
            docked: 'top'
        },
        Ext.create('Ext.field.Select', {
            label: 'abc',
            name: 'asz',
            options: [{
                text: 'asd', value: '1'
            }]
        })
    ]
});

Ext.Viewport.add(this.popup);
this.popup.show();

Если вы говоритео Sencha Touch 1, вам придется изменить z-индекс сборщика.Используйте Chrome, чтобы выяснить, что такое className (вероятно, .x-picker), и установите для z-index что-то вроде 999.

.
0 голосов
/ 14 февраля 2012

Ваш вопрос содержит недостаточно информации.Но я думаю, что вы что-то упустили.

when you set z-index property, you should make sure the overlay is positioned( absolute, relative, fixed).

Вы можете добавить свойство position и проверить его снова.Может быть, это работает для вас.

...