【发布时间】:2014-11-05 14:28:08
【问题描述】:
谁能解释一下,我做错了什么?
我正在尝试加载数据以存储并在表单加载时选择其中的一些。
到目前为止,这是我想出的: https://fiddle.sencha.com/#fiddle/cjd
Ext.define('TagModel', {
extend: 'Ext.data.Model',
fields: [{
name: 'some_id',
type: 'int'
}, {
name: 'some_value',
type: 'string'
}]
});
Ext.define('MyPanel',{
extend: 'Ext.panel.Panel',
renderTo: Ext.getBody(),
title: 'Some title',
width: 200,
heigh: 500,
layout: 'anchor',
items: [{
xtype: 'tagfield',
anchor: '100%',
displayField: 'some_value',
valueField: 'some_id',
store: Ext.create('Ext.data.Store', {
model: 'TagModel',
data: [{
some_id: 0,
some_value: 'value0'
}, {
some_id: 1,
some_value: 'value1'
}]
}),
// value: ['0']
}]
});
Ext.application({
name: 'Fiddle',
launch: function() {
Ext.create('MyPanel');
}
});
效果很好,但是如果你取消注释第 40 行,它应该告诉组件通过它们的 valueField 配置选择项目,它会在控制台中显示错误:
未捕获的类型错误:无法读取未定义的 ext-all-debug.js:144157 的属性“isModel”
根据specification,可以将value设置为与该字段配置的valueField关联的字符串数组。
【问题讨论】: