Хорошо, так что я придумал обходной путь «это не красиво, но он выполняет свою работу»: быстро скрыть, затем показать меню после его рендеринга.Другими словами, когда кто-то щелкает первый раз и меню отображается, автоматически скрывает его, а затем снова показывает.Когда он будет показан заново, выравнивание будет правильным.Вот новый код:
{
xtype: 'toolbar',
items: [
{
xtype: 'triggerfield',
width: 335,
emptyText: 'Search',
triggerCls: 'x-form-search-trigger'
},
'->',
{
xtype: 'splitbutton',
text: 'Account',
menuAlign: 'tr-br',
menu: {
xtype: 'menu',
plain: true,
items: [
{
xtype: 'container',
html: 'Image here...'
},
{
xtype: 'button',
text: 'Log Out'
}
],
listeners: {
afterrender: function(component) {
// Hide menu and then re-show so that alignment is correct.
component.hide();
component.show();
}
}
}
}
]
}