2

グリッドを動的に作成するアプリを作成し、ユーザーが「numberfield」エディターを介してグリッド列の 1 つを変更できるようにしました。デバッグ環境ではすべて問題なく動作していますが、Rally 環境でフィールドの 1 つを編集しようとすると、アプリがクラッシュします。見た目から、アプリを含む iframe は完全にリロードされています。

さて、何が起こっているのかの手がかりになるかもしれない奇妙な部分があります. アプリのどこかをクリックすると (変更をコミットすると)、アプリがクラッシュしますが、アプリのどこかでマウス ホイールをスクロールすると、スピナーがフォーカスを失い (上下の矢印は表示されません)、どこかをクリックすると編集が適用され、アプリはクラッシュしません。デバッグ モードでは、これを実行する必要はありません。別の場所をクリックするだけで、変更が適用されます。

4

1 に答える 1

3

これは2.0p5の既知の問題であり、SDKの次のリリースで修正される予定です。基本的には、スレッジハンマーを使用して、何かが編集されて更新されたという事実に対応します。新しいSDKはメッセージバスと通信できるため、これはまったく不要です...

それまでの間、ハードリフレッシュを防ぐためにアプリインスタンスを返すグローバルRally.getApp関数を定義することで、アプリにパッチを適用できるはずです。

//In your app definition give it an xtype:
Ext.define('My.App', {
    extend: 'Rally.app.App',
    //...
    alias: 'widget.myapp'
    //...
});

//Find the app instance by its xtype and return it
Rally.getApp = function() {
    return Ext.ComponentQuery.query('myapp')[0];
};

2.0p6がリリースされてアップグレードしたら、そのコードを削除できます。

于 2013-01-08T20:40:59.550 に答える