大家好,任何人都可以了解如何做到这一点。
我有一个带有各种子对象的userRecord对象,包括他们的技能组合,合同等。
我通过查询商店中的userId来获取记录,如下所示。
var userRecord = userStore.findRecord('id',userId);
接下来,我在表格界面中有多种形式的复选框,与每个用户的子对象相关,例如技能和合同。我试图在userRecord上用已经检查过的复选框上的数组覆盖这些。
var skillsetCheckBoxes = skillsetPanel.query('checkboxfield[checked=true]'); var skillsets = new Array(); Ext.each(skillsetCheckBoxes, function (skillset) { console.log(skillset); skillsets.push(skillset); });
我试图将userRecord的工程师的技能组对象设置为新数组:
userRecord.set(('engineer').skillsets, skillsets);
但是当我在执行此操作后记录记录时,它仍然是我从findRecord()检索到的没有编辑字段的记录。
任何帮助非常感谢,
谢谢!
答案 0 :(得分:0)
很难说不知道你的模型的结构,但你的线明显错了。您正在使用('engineer').skillsets
作为set
方法的关键参数。因为它不是字符串而是数组,所以它不会做任何好事。
你的界限应该是这样的:
// You should probably test that there is something in there, or the
// next line could crash...
var engineer = userRecord.get('engineer');
if (engineer) {
userRecord.get('engineer').skillsets = skillsets;
}