0

大家好,任何人都可以阐明如何做到这一点。

我有一个 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() 检索到的相同记录,没有编辑字段。

非常感谢任何帮助,

谢谢!

4

1 回答 1

0

不知道你的模型结构很难说,但你的路线显然是错误的。您正在使用('engineer').skillsetsset方法的关键参数。由于它不是字符串而是数组,所以它不会做任何好事。

你的行应该是这样的:

// 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;
}
于 2013-09-18T09:44:25.563 回答