我试图绑定(两种方式绑定)我的表单的某些字段与我的视图模型提供的数据。 当我绑定一个简单的字符串时,它完美地工作。但是当我尝试将表单字段绑定到viewmodel中的数组字段时,视图模型不会考虑修改。
这是我的模特
Ext.define('Front.model.User', {
extend : 'Ext.data.Model',
fields : [{
name : 'id',
type : 'int'
}, {
name : 'name',
type : 'string'
}, {
name : 'email',
type : 'string'
}, {
name : 'last_connection',
type : 'date',
dateFormat : 'Y-m-d H:i:s'
}, {
name : 'birth',
type : 'date',
dateFormat : 'Y-m-d H:i:s'
}, {
name : 'schedule',
type : 'auto'
}]
});
这是我的ViewModel
Ext.define('Front.view.user.SheetModel', {
extend : 'Ext.app.ViewModel',
alias : 'viewmodel.sheet',
requires : ['Front.model.User'],
data : {
currentUser:null
},
model : 'Front.model.User'
});
这是我的表格
Ext.define('Front.view.user.Sheet', {
extend : 'Ext.form.Panel',
requires : ['Front.view.user.SheetController'],
controller : 'sheet',
viewModel : {
type : 'sheet'
},
config : {
currentUser : null
}, {
xtype : 'textfield',
fieldLabel : 'De',
name : 'morningstarttest',
width : 60,
bind : {
value : '{currentUser.schedule.lundi.am.start}'
}
}
});
绑定首次显示正确的值,但如果更改值则不会更新。
&#39>日程表'模型中的字段是一个数组。
我有什么想法可以解决这个问题吗?
答案 0 :(得分:0)
您的代码如何知道要绑定的数组中的哪个项目?你需要做类似的事情:
{currentUser.schedule[0].lundi.am.start}
为了指定数组索引。我不记得你是否可以做到这一点,那是因为这只是一个坏主意。我建议你重新考虑你想要做的事情。不要将计划作为模型中的字段,而是查看关联。