2012-02-14 45 views
0

我目前有一个设置,您可以按下按钮并显示叠加层。 叠加看起来像如下:当我使用叠加层时,如何将“sencha”选择域放入视图中?

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: [...] 
     }) 
    ] 
}); 

现在你可以看到有我的叠加单selectfield,问题是,当你点击,弹出选择菜单,选择菜单出现在覆盖后面。我尝试了各种各样的哈希手段无济于事。我尝试调整zIndex值,但它们似乎没有改变,或者改回sencha的默认值,因为它似乎没有什么区别。

我永远不会想到,在sencha我可以花费这么多小时试图把一个选择字段放到叠加层上。这个问题似乎在两个镀铬& Safari浏览器(iPad的)发生

两个覆盖& selectfield代码基本上是从这里http://dev.sencha.com/deploy/touch/examples/kitchensink/

+0

您是使用1.x还是2.x开发的? Ext.field.Select仅在2.x. – rdougan 2012-02-15 01:32:51

回答

1

我不确定您是指的是1.x还是2.x.您使用Ext.field.Select是2.x类,但您指向1.x示例。

如果您在谈论Sencha Touch 2,那么您的代码应该正常工作。但是我知道有一个PR没有工作的问题。

我与Beta 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(); 

如果你谈论的是煎茶触摸1,你将不得不修改选择器的z-index的。使用Chrome来确定className是什么(可能是.x-picker),并将z-index设置为999之类的东西。

0

采取了你的问题没有包含足够的信息来源。但我想你错过了一些东西。

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

您可以添加位置属性,并再次测试。也许它适合你。

+0

使用chrome开发工具,我看了两个对象的最外层容器,发现叠加层相对位置(我假设是因为它居中,而且选择菜单被绝对定位了) 这个问题很容易复制,只需在kitchensink演示中创建一个覆盖图,并在其上添加任何'selectfield',如果我可以提供更多信息,请随时通知我。 – 2012-02-14 02:53:13

+0

您是否可以在[jsfiddle](http:// www。 jsfiddle.net)? – trinity 2012-02-14 03:09:40

+0

我不相信jsfiddle支持Sencha Touch,也试过Ext.js 3&4,似乎没有工作,这是代码,笨拙下来:http://jsfiddle.net/ SQvaY / – 2012-02-14 03:22:44

相关问题