0

我有视口:

new Ext.Viewport({
  layout:'fit',
  hideBorders:true,
  items:[panel1,panel2,panel3],
});

现在我想在视口上方显示组合框:

var myCombo= new Ext.ComboBox({
  store:myStore,
  editable:false,
  renderTo:Ext.getBody(),
  triggerActions:'all',
  mode:'local',
  cls:'scales'
});

CSS:

.scales{
  position:absolute,
  botton:1em,
  right:1em,
  background-color:white
}

但它在左侧渲染。如何在右下角渲染它?

更新

现在我将组合放入 Panle:

myPanel= new Ext.Panle({
items[myCombo],
renderTo:Ext.getBody(),
cls:'scales',
border:false
});

现在我的组合在右下角。但看起来像这样: 在此处输入图像描述

即使我从应用程序中删除视口代码,我也会得到相同的结果。我可以用组合做点什么吗?

4

2 回答 2

1

你的 CSS 坏了,应该是:

.scales{
    position: absolute; 
    bottom: 1em;
    right: 1em;
    background-color: white;
}

注意分号 和bottom而不是botton.

编辑:

您应该将您的组合呈现到一个窗口中,让 Ext 管理定位问题。这是一个呈现极简主义窗口的示例:

var win = new Ext.Window({
    closable: false
    ,resizable: false
    // uncomment to make the window draggable
    //,title: '...'
    ,border: false
    // uncomment to make the window modal
    //,modal: true
    ,items: [{
        xtype: 'combo'
        ,store: ['Foo', 'Bar', 'Baz']
    }]
});

win.show();

// then use anchorTo to position the window where you want:
win.anchorTo(Ext.getBody(), 'br-br', [10, 10]);

请参阅文档以获取anchorTo.

于 2013-06-12T09:48:01.810 回答
1

尝试

new Ext.panel.Panel({
      layout:'fit',
      items:[panel1,panel2,panel3],
});

或者将您的组合放在视口项目中,如下所示:

new Ext.panel.Panel({
  layout:'fit',
  items:[panel1,panel2,panel3, combo],
});
于 2013-06-12T09:54:27.933 回答