ExtJs 6在单元格';s的红旗已移除或已知会保留

ExtJs 6在单元格';s的红旗已移除或已知会保留,extjs,callback,extjs6,extjs6-classic,Extjs,Callback,Extjs6,Extjs6 Classic,我有一个带有checkcolumn(Ext.grid.column.Check)项的表 当(取消)检查项目时,会立即对后端执行ajax回调 有两种结果: -后端成功处理且标志消失,或 -旗帜依然飘扬。但从用户的角度来看,这种情况何时发生是无法确定的 在通话过程中,手机的左上角会显示一个小红旗。 如果后端调用返回成功,则红旗将被删除;否则它会留下来 现在,我需要一个侦听器回调,用于ajax调用何时返回 有很多听众,但我找不到那个能帮我解决问题的人 我为什么要问我想在后端调用期间显示一个页面范围的不

我有一个带有checkcolumn(Ext.grid.column.Check)项的表

当(取消)检查项目时,会立即对后端执行ajax回调

有两种结果:
-后端成功处理且标志消失,或
-旗帜依然飘扬。但从用户的角度来看,这种情况何时发生是无法确定的

在通话过程中,手机的左上角会显示一个小红旗。
如果后端调用返回成功,则红旗将被删除;否则它会留下来

现在,我需要一个侦听器回调,用于ajax调用何时返回

有很多听众,但我找不到那个能帮我解决问题的人


我为什么要问我想在后端调用期间显示一个页面范围的不可修改的等待层/图标。无论调用完成得多么成功,都必须在调用完成后删除该层。

您的
检查列
是绑定到
存储的
网格的一部分。
checkcolumn
与同步本身无关。同步是
存储
的一部分。显然,由于您告诉我们,只要单击复选框,就会执行同步,因此您已将存储设置为,这限制了您的选项,因为它隐藏了工作,直观上不允许您向存储添加同步回调

如果手动执行同步,则可以向同步添加回调:

store.sync({
    callback: function(batch) {
        ...
    }
});
这个回调在XmlHttpRequests完成时执行,不管它们的结果如何;然后,您可以检查每个批次的状态或商店的状态,并相应地采取行动(例如MessageBox)


此外,您还可以覆盖存储上的函数,并将回调选项添加到触发的同步中。

为了解决我的问题,我必须使用Ext.data.store实现。
检查
操作
值为我解决了这个问题

Ext.define('MyDataStorage', {

  extend: 'Ext.data.Store',
  ...
  autoLoad: true,
  autoSync: true,
  remoteFilter: true,
  remoteSort: true,

  listeners: {

      update: function(store, record, operation, modifiedFieldNames, details, eOpts) {

         if ( 'commit' == operation ) {
            Ext.ComponentQuery.query('#someList')[0].doSomething();
         }
      },
  }
});
autoSync:true
的设置与猜测相同。我无法以不同的方式进行同步

感谢您的专业知识和提示