Что именно делать?
Я разместил scrollIntoView()
, чтобы сделать видимость сетки. Когда я добавляю новую сетку в gridContainer, я использую этот метод. Это работа, которую я могу проверить из отладчика.
my scrollIntoView()
grid.body.dom.scrollIntoView();
Но как только он достигнут функции отсрочки, он не работает scrollIntoView()
. Кто-нибудь может предложить, как пропустить это. Что отложить и как пропустить это. Также я использую grid.focus()
, и снова происходит то же самое. Сетка появляется в поле зрения, но после выхода из отладчика нет отображения в представлении.
defer: function(fn, millis, scope, args, appendArgs) {
fn = Ext.Function.bind(fn, scope, args, appendArgs);
if (millis > 0) {
return setTimeout(function() {
if (Ext.elevateFunction) {
Ext.elevateFunction(fn);
} else {
fn();
}
}, millis);
}
fn();
return 0;
},
Ответы
Ответ 1
Обходным решением будет не прокрутка к компоненту, а использование макета карты для центрального контейнера и отображение новой сетки на другая карта.
var centerCt; // reference to your center container
var centerLayout = centerContainer.getLayout();
var newGrid = Ext.create('Ext.grid.Panel', {});
centerCt.add(newGrid);
centerLayout.setActiveItem(newGrid);
Я создал Sencha Fiddle.