我正在使用Sencha Architect进行测试。 我添加了一个列表视图,与商店连接,与模型连接。 存储配置为加载以下JSON数据:
{
"data": {
"blacklist":[
"word 1",
"word 2",
"word 2"
]
}
}
每个“单词x”都应列在我的列表视图中的列表项
现在我想建立我的模型。但是模型确实需要“字段名称”,在我的情况下不存在。
如果我使用以下JSON数据:
{
"data": {
"blacklist":[
{"name": "word 1"},
{"name": "word 2"},
{"name": "word 3"}
]
}
}
给我的模型一个名为“name”的字段,一切正常。
但是,如果我的JSON值没有在模型中定义的键(作为字段/字段名),我该如何设置这个场景呢?
答案 0 :(得分:1)
如果您不确切知道自己想要对结果做什么,您就可以修改此代码以获得所需内容。
App.js
Ext.Loader.setConfig({
enabled : true
});
Ext.application({
name : ('SF' || 'SenchaFiddle'),
models : ['TestModel'],
stores : ['TestData'],
launch : function() {
Ext.create('Ext.dataview.List', {
fullscreen : true,
model : 'TestModel',
store : 'TestData',
itemTpl : "{blacklist}"
});
}
});
型号:
Ext.define('SF.model.TestModel', {
extend : 'Ext.data.Model',
config : {
fields : [{
name : 'blacklist',
type : 'string',
// **This is where you will parse out the values of 'blacklist'**
convert : function(value, record) {
console.log("value: ", value.length);
console.log("Record: ", record);
var returnArr = [];
if (value && value.length > 0) {
for (var i=0; i<value.length; i++) {
returnArr[i] = value[i];
}
return returnArr;
};
return "Could not Convert";
}
}]
}
});
商店:
Ext.define('SF.store.TestData', {
extend : 'Ext.data.Store',
config : {
model : 'SF.model.TestModel',
data : [{
"blacklist":[
"word 1",
"word 2",
"word 2"
]
}],
}
});
如果我遗漏了问题,请告诉我,
祝你好运,布拉德