gpt4 book ai didi

javascript - 在 ExtJS 中将嵌套的表单数据保存回服务器

转载 作者:行者123 更新时间:2023-12-02 05:02:55 25 4
gpt4 key购买 nike

我有一个模型,其中包含与另一个模型的关联。我能够通过使用字段上的映射属性将嵌套数据显示到表单中。示例:

Ext.define('Example.model.Request', {
extend: 'Ext.data.Model',

fields: [
{
name: 'id',
type: Ext.data.Types.NUMBER,
useNull: false
}
{
name: 'plan_surveyor',
mapping: 'plan.surveyor',
type: Ext.data.Types.STRING
}
],

associations: [
{type: 'hasOne', associationKey: 'plan', getterName:'getPlan', model: 'Specs.model.Plan'}
],

proxy: {
type: 'direct',
api: {
read: requestController.load,
update: requestController.update,
},
reader: {
type: 'json',
root: 'records'
},
writer: {
type: 'json',
writeAllFields: true,
nameProperty: 'mapping'
}
}

});

使用这个方法,我可以通过引用plan_surveyor在表单中显示plan.surveyor的值。我调用 Form.loadRecord(model) 将数据从模型中提取到表单中。

但是,现在我正在尝试将数据发送回服务器,但出现错误:

执行操作时出错。请报告以下内容:“无法识别的字段“plan.surveyor”

我试图通过先调用 Form.updateRecord(model),然后调用 model.save() 来保存到服务器。有没有办法让作者明白“plan.surveyor”不是属性名称,而是正确处理嵌套?

我这样做是正确的开始方式,还是我应该以更手动的方式处理表单数据的设置并加载回模型?一般来说,嵌套数据似乎并没有得到很好的支持 - 有什么建议吗?

最佳答案

    Ext.define('Example.model.Request', {
extend: 'Ext.data.Model',

fields: [
{
name: 'id',
type: Ext.data.Types.NUMBER,
useNull: false
}
{
name: 'plan_surveyor',
mapping: 'plan.surveyor',//change to 'plan_surveyor'
type: Ext.data.Types.STRING
}
],

更改评论中显示的内容,因为数据索引以上述格式给出,因为你给你的格式不是数据索引,它是一个列或 extjs 准备,所以请更改它可能工作良好

不行你会发孔码

关于javascript - 在 ExtJS 中将嵌套的表单数据保存回服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14634577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com