【发布时间】:2020-05-08 13:54:12
【问题描述】:
我对 MVVM 和 ExtJS 都是新手。
我有 2 家商店:人员和他们的职责:
人物:['id', 'name','duty'], 其中duty 是一个 int 键。
职责:['id', 'dutyName']
我想在网格中显示人员,但在一列中显示的不是职责 ID,而是职责名称,例如不是“1”,而是“厨师”
1) 我创建了一个 ViewModel。
Ext.define('TestApp.ViewModels.ListViewModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.listVm',
stores: {
people: {
type: 'PeopleStore',
autoLoad: true
},
duties: {
type: 'DutiesStore',
autoLoad: true
}
},
2) 在视图中使用此 VM (Ext.grid.Grid)
viewModel: {type: 'listVm'},
bind:
{
store: '{people}'
},
3) 包含职责的列现在包含 ID(“1”、“2”、“1”等)
{
text: 'Должность',
dataIndex: 'duty',
flex: 2,
valueId: 'id'
}
添加bind: {value: '{duties.dutyName}'} 并玩弄会抛出错误missing a setValue method
【问题讨论】:
-
您使用的 ExtJS 版本是什么?
valueId属性是什么意思?我在文档中没有看到它。bind: {value: '{duties.dutyName}'}不工作,因为column没有任何价值和 getter 和 setter
标签: javascript mvvm extjs