ここに私のコードの短縮版があります:
Ext.define('MyApp.model.Folder', {
extend: 'Ext.data.Model',
fields: ['id', 'name']
});
Ext.define('MyApp.model.User', {
...,
hasMany: { model: 'Folder', name: 'folders' }
});
var form = Ext.widget('form', {
...,
items: {
xtype: 'combo',
name: 'folders',
multiSelect: true,
valueField: 'id',
displayField: 'name',
queryMode: 'local',
store: 'Folders'
}
});
User.load(1, {
success: function (user) {
form.loadRecord(user);
}
});
User モデルによってロードされたデータ:
{
...,
folders: [
{ id: 1, name: 'folder 1' },
{ id: 2, name: 'folder 2' }
]
}
すべて (ユーザー モデルとストア) が正常に読み込まれ、ストアにフォルダー 1、2、N が含まれていると仮定すると、loadRecord
メソッドに渡された値 (フォルダー 1 と 2) をコンボで選択する必要がありますが、フィールドは空のままです。助けてくれてありがとう。