Что именно делать?

Я разместил 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.