DOM scrollIntoView
на самом деле не работает должным образом, так как он всегда либо сверху, либо снизу выравнивает элемент. ExtJS, однако, кажется, что именно то, что нужно:
Ext.get(el|elId).scrollIntoView(containerId|containerEl);
Например, чтобы убедиться, что текущий выбранный элемент в экземпляре Ext.view.View
(dataview) виден, я сделал:
Ext.define('MyView', {
extend: 'Ext.view.View',
...
listeners: {
'selectionchange': function(_, selections) {
if (selections.length === 1) {
var node = this.getNode(selections[0]);
Ext.fly(node).scrollIntoView(this.el);
}
}
},
...
}