フォーム内で非常に単純なRadioGroupを使用しています。フォームはform.loadRecord()メソッドを介してレコードで埋められ、後でform.updateRecord()を使用してフォームの値に応じてレコードを更新します。それは動作します、私はレコードをロードしてそれらを保存することができます、この時点で問題ありません。
isDirty()メソッドを使用して、フォームのダーティステータスを確認したいときに問題が発生します。それは常に「真」です。基本的に理由はわかっています。これは、RadioGroupの元の値が常に「0」に等しく、loadRecord()によって設定されないためです(アドホックラジオグループの子に値を適用するだけです)。
-> form.getFields()。items [10] .originalValue = Rating: "0"
-> form.getFields()。items [10] .getValue()=評価: "3"
他のフィールドはどれもダーティではないことを追加する必要があります(trackResetOnLoadがフォームでtrueに設定されているため、レコードがロードされたときにフォームをリセットできます)。この問題は、ラジオグループでのみ発生します。
これが私が使用するラジオグループのコードです。ラジオグループに「name:'Rating'」を追加しようとしましたが、クラッシュします(ExtJS 3.xで機能していたようです)。
xtype : 'radiogroup',
fieldLabel: 'Rating',
items: [
{
boxLabel : 'Zero',
name : 'Rating',
inputValue: "0"
}, {
boxLabel : 'One',
name : 'Rating',
inputValue: "1"
}, {
boxLabel : 'Two',
name : 'Rating',
inputValue: "3"
}
]
ご協力いただきありがとうございます!