我有视口:
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
});
现在我的组合在右下角。但看起来像这样:
即使我从app中删除视口代码也会得到相同的结果。我可以用组合做点什么吗?
答案 0 :(得分: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
的文档。
答案 1 :(得分:1)
尝试
new Ext.panel.Panel({
layout:'fit',
items:[panel1,panel2,panel3],
});
或者将您的组合放在视口项目中:
new Ext.panel.Panel({
layout:'fit',
items:[panel1,panel2,panel3, combo],
});