Javascript extjs3下拉菜单调整定位 var tpl=new Ext.XTemplate( '', '', '', “{text}”, '', '' ); var msg=store.proxy.lastDataTableObject.logMessages; var topToolbar=this.gridPanel.topToolbar; 如果(msg&&msg.length>0){ //警告消息菜单 topToolbar.insert(topToolbar.items.items.length-1{ 文本:“警告消息”, 菜单:{ xtype:'菜单', autoScroll:是的, 最大高度:200, 项目:[ 新的Ext.DataView({ store:new Ext.data.SimpleStore({data:msg,fields:['text']}), 第三方物流:第三方物流, 自动宽度:正确, 多选:对, 超类:“x视图超类”, itemSelector:'div.thumb-wrap', emptyText:“没有要显示的警告” }) ] } }); topToolbar.doLayout();
我制作了这个菜单,里面有一个DataView。我的最终目标是添加maxHeight,使下拉元素的右上角始终固定在按钮元素的右下角。现在发生了什么:Javascript extjs3下拉菜单调整定位 var tpl=new Ext.XTemplate( '', '', '', “{text}”, '', '' ); var msg=store.proxy.lastDataTableObject.logMessages; var topToolbar=this.gridPanel.topToolbar; 如果(msg&&msg.length>0){ //警告消息菜单 topToolbar.insert(topToolbar.items.items.length-1{ 文本:“警告消息”, 菜单:{ xtype:'菜单', autoScroll:是的, 最大高度:200, 项目:[ 新的Ext.DataView({ store:new Ext.data.SimpleStore({data:msg,fields:['text']}), 第三方物流:第三方物流, 自动宽度:正确, 多选:对, 超类:“x视图超类”, itemSelector:'div.thumb-wrap', emptyText:“没有要显示的警告” }) ] } }); topToolbar.doLayout();,javascript,html,extjs,drop-down-menu,extjs3,Javascript,Html,Extjs,Drop Down Menu,Extjs3,我制作了这个菜单,里面有一个DataView。我的最终目标是添加maxHeight,使下拉元素的右上角始终固定在按钮元素的右下角。现在发生了什么: 对于固定高度,锚定问题仍然存在,但至少菜单会按应有的方式下降: 您可以使用工具栏上的“配置”按钮,该按钮的值将使元素(在您的情况下是“菜单”)的右上角与目标(在您的情况下是“按钮”)的右下角对齐 var tpl = new Ext.XTemplate( '<tpl for=".">
对于固定高度,锚定问题仍然存在,但至少菜单会按应有的方式下降:
您可以使用工具栏上的“配置”按钮,该按钮的值将使元素(在您的情况下是“菜单”)的右上角与目标(在您的情况下是“按钮”)的右下角对齐
var tpl = new Ext.XTemplate(
'<tpl for=".">',
'<div class="thumb-wrap">',
'<img src="../images/warning.png" style="vertical-align: middle;" title="Warning">',
'<span class="x-editable" style="margin-left: 3px;">{text}</span></div>',
'</tpl>',
'<div class="x-clear"></div>'
);
var msg = store.proxy.lastDataTableObject.logMessages;
var topToolbar = this.gridPanel.topToolbar;
if (msg && msg.length > 0) {
//Warning Messages menu
topToolbar.insert(topToolbar.items.items.length - 1,{
text: "Warning Messages",
menu: {
xtype: 'menu',
autoScroll: true,
maxHeight: 200,
items: [
new Ext.DataView({
store: new Ext.data.SimpleStore({data: msg, fields: ['text']}),
tpl: tpl,
autoWidth: true,
multiSelect: true,
overClass: 'x-view-over',
itemSelector: 'div.thumb-wrap',
emptyText: 'No warnings to display'
})
]
}
});
topToolbar.doLayout();
这里有一个基于您的代码的示例,供您参考
if (msg && msg.length > 0) {
topToolbar.insert(topToolbar.items.items.length - 1,{
text: "Warning Messages",
menuAlign: 'tr-br', // Add this line here
menu: {
xtype: 'menu',
...
}
});
topToolbar.doLayout();
}