解决方案 »

  1.   

    分页及重新载入grid均出现Loading后一直loading
    因为这是一个事件selectionchange:每次加载都会调用这个事件.
      

  2.   

    何不console.info调试一下,看是哪一步阻塞了。不知道initComponent函数里的那个relayEvents函数会不会导致selectionchange事件处理出现死循环,个人猜测啊
      

  3.   

    你看看源代码,在getSelectionModel()函数中有如下一些代码,不知道会不会持续激发selectionchange事件而造成死循环:if (!selModel.hasRelaySetup) {
                me.relayEvents(selModel, [
                    'selectionchange', 'beforeselect', 'beforedeselect', 'select', 'deselect'
                ]);
                selModel.hasRelaySetup = true;
                if (selModel.isRowModel) {
                    selModel.on('selectionchange', me.updateBindSelection, me);
     }
    }
      

  4.   

    我对于这个不严谨的结论表示歉意,应该不是什么死循环,事实上gridpanel创建时,默认是不会有selectionchange事件被触发。我感觉可能是你用grid.getSelectionModel().getSelection()[0].get('IS_SYSCATEGORY');这种用法不对,因为grid是你在前面创建的,又在其事件处理函数中引用自身,不知道会带来什么后果,我也是新手不了解这个过程。你要实现的功能难道不能通过records参数来达成?这个参数就是被选择的那一行数据,你可以对它包含的数据属性值进行判断,你看ExtJS的官方API就可以知道,records其实就是被选择的记录。