私は2つのグリッドを含むビューを持っています。グリッドは2つのモデルによってサポートされています。 2つのモデル間の関係は、1対多数(キーレス関係)です。Extjs6アップデートでダーティーフラグがクリアされない
モデル:
Ext.define('TestApp.model.association.Project', {
extend: Ext.data.Model,
fields: [
{
type: 'int',
name: 'id'
}, {
type: 'string',
name: 'project'
}, {
type: 'number',
name: 'allocation'
}, {
type: 'string',
name: 'comments'
}, {
type:'string',
name:'state'
}
]
});
Ext.define('TestApp.model.association.User', {
extend: Ext.data.Model,
fields: [{
type: 'int',
name: 'id'
}, {
type: 'string',
name: 'employee'
}, {
type: 'string',
name: 'location'
}, {
type: 'string',
name: 'department'
}, {
type: 'string',
name: 'manager'
}, {
type: 'number',
name: 'allocation'
}],
hasMany: [{
model: 'TestApp.model.association.Project',
// Note: use of 'role' is preferred over 'name'
role: 'projects',
// Define role for inverse association
inverse: {
role: 'user'
}
}]
});
I子部から1行を編集した後、私は(汚い=真)ダーティとして親レコードを設定し、私は店を同期。私がサーバー上で必要な作業をした後、私は応答を送り返します。私が応答を受け取った後、子供の部分の汚れた旗は真のままです。
アソシエーションがない場合、サーバーからの応答を受け取った後、ダーティーフラグは自動的にクリアされます。
詳細については、fiddleを作成しました。
更新後に関連付けからダーティーフラグをクリアするにはどうすればよいですか?
編集
私はより良い私の問題を示すために、フィドルを更新しました。 再現手順:
- 選択ジョン・ドウレコードをトップパネル下部のパネルから
- セレクトアップル
- 編集の割り当てとコメント欄(利用可能な行編集プラグイン)から。第2のグリッド
のツールバーから、[OK]を押し
クライアントは応答で受信した子レコードを設定できず、ダーティー・フラグをクリアできません。
どうしてですか?これはバグですか?
を探すあなたはダーティフラグを設定するためのサーバーに依存している、またはあなたがparent->子供のためのダーティフラグを設定するために、それをコードすることができます。 – Tejas
@ Tejas1991私はあなたの声明をよく理解していませんでした。変更を含むjsonをサーバーに送信します。サーバは、データベースに保存された後にレコードを含むJSONを返します。それは休憩のアプリケーションです。いくつかの変更を行った後、クライアント上にダーティー状態が設定される – florin
サーバーのデータを設定するのではなく、フィールドのダーティーフラグをプログラムで設定しないのはなぜですか?サーバーのデータを設定しているコードについて教えてください。 – Tejas