gpt4 book ai didi

javascript - 如何在 Sencha Touch 中的 selectfield 中实现嵌套且关联的 model-json?

转载 作者:行者123 更新时间:2023-11-27 23:51:54 25 4
gpt4 key购买 nike

我有一个具有关联模型的商店,我需要将此关联模型的值包含到 Sencha Touch 中的选择字段组件中。

这是我的父模型:

    Ext.define('x.customer.model.CustomerModel', {
extend: 'Ext.data.Model',
requires:[
'x.customer.model.CustomerTemplateModel'
],
config: {
useCache: false,
idProperty: 'id',
fields: [
{
name: 'id',
type: 'string'
},
{
name: 'address',
type: 'string'
},
{
name: 'name',
type: 'string'
},
{
name: 'type',
type: 'int'
}
],
associations: [
{
type: 'hasMany',
associatedModel: 'Survey.customer.model.CustomerTemplateModel',
ownerModel: 'Survey.customer.model.CustomerModel',
associationKey: 'templates',
autoLoad: true,
name: 'templates'
}
]
}
});

和子模型:

Ext.define('x.customer.model.CustomerTemplateModel', {
extend: 'Ext.data.Model',
requires:[],
config: {
useCache: false,
rootProperty: 'templates',
fields: [
{
name: 'text',
type: 'string'
},
{
name: 'value',
type: 'string'
}
]
}
});

商店:

requires: ['Survey.customer.model.CustomerModel'],

config: {
model: 'Survey.customer.model.CustomerModel',

proxy: {
type: 'ajax',
reader: {
type: 'json',
rootProperty: 'customers'
}
}
}

目前 json 具有以下结构:

{
"id": "00000001",
"address": "Antsy Road",
"name": "asfas",
"phone": "55555",
"openSurveys": 7,
"templates": [
{
"text": "123",
"value": "Template 1"
}
],
"type": 1,
"withSurveys": true
},

如何在选择字段中实现"template"嵌套 json 中包含的数据?

提前谢谢

最佳答案

一旦您的商店加载并且您有一个客户:

var templatesData = []; // What will be inserted to the ComboBox
for (var i=0; i < custommers[0].get('templates').length; i++) { // Running threw the values and populating templatesData
var templateModel = custommers[0].get('templates')[i];
var templateCombo = {
text: templateModel.data.text,
value: templateModel.data.value
};

templatesData.push(templateCombo);
}
// Setting the values to the combobox
Ext.getCmp('myCombo').setStore(Ext.create("Ext.data.Store", {
model: 'x.customer.model.CustomerTemplateModel',
data :templatesData
}));

这不是一个独特的解决方案,您也可以创建一个新的商店实例。以下是有关如何设置组合框的“store”属性的更多信息:http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.form.field.ComboBox-cfg-store

关于javascript - 如何在 Sencha Touch 中的 selectfield 中实现嵌套且关联的 model-json?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628047/

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