dgrid グリッドに古いデータの問題があります。次のシナリオを想定します。
- グリッドは JsonStore に割り当てられ、関連データをロードします (GET /api/items など)。
- ユーザーが要素を選択すると、グリッドは
dgrid-select
、API 呼び出しによって返される実際のオブジェクトへの参照を提供するアイテムを発行します。 - その参照により、操作が発生し、アプリケーション フローが続行され、おそらくアイテムが更新されます (例: PUT /api/items/1)
- 古いデータ (GET /api/items など) が含まれないように、グリッドは手動で更新されます (ストアが更新されます)。グリッドはオプション
deselectOnRefresh: false
で作成されているため、選択された行は同じままです。
この時点で、API を余分に呼び出さずに、更新されたデータを含むオブジェクトへの参照を取得するにはどうすればよいでしょうか?
行をもう一度手動で選択しようとしましたが、これはイベントを発生させません。私も呼び出してみgrid.row(selectedItemId)
ましたが、それは基になるオブジェクトではなく行オブジェクトを返します。呼び出しも試みstore.get(selectedItemId)
ましたが、更新されたオブジェクトが提供されている間、API への別の呼び出しが実行されます。その情報はアプリによって既に読み込まれているため、これは不要です。