Я использую очень простую RadioGroup в форме. Моя форма заполняется записью через метод form.loadRecord(), а позже я обновляю запись в зависимости от значений в моей форме с помощью form.updateRecord(). Это работает, я могу загружать записи и сохранять их, на данный момент проблем нет.
Проблемы возникают, когда я хочу проверить грязный статус формы, используя ее метод isDirty(). Это ВСЕГДА «правда». Я в основном знаю, почему, и это потому, что исходное значение RadioGroup всегда равно «0» и не устанавливается функцией loadRecord() (она просто применяет значение к дочернему элементу радиогруппы adhoc).
-> form.getFields().items[10].originalValue = Рейтинг: "0"
-> form.getFields().items[10].getValue() = Рейтинг: "3"
Я должен добавить, что НИ ОДНО из других полей не является грязным (trackResetOnLoad установлен на true в форме, что позволяет сбрасывать форму при загрузке записи). Эта проблема возникает только с радиогруппой.
Вот код радиогруппы, которую я использую. Я попытался добавить «имя: «Рейтинг»» в радиогруппу, но она вылетает (видимо, она работала в 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"
}
]
Спасибо за вашу помощь!