0

ViewModel があり、そのフィールドの 1 つにオブジェクトの配列が含まれています。items: []そのフィールドのデータに基づいて動的に作成するにはどうすればよい ですか? 実際にはグリッドのようなものが必要ですが、もう少し複雑でレイアウトが異なります。ViewModel の「onChange」イベントのようなものをリッスンする必要があると思います。

this.add(Ext.create('MyItem', {data: ElementOfArrayFromVMField}))

これは正しい方法ですか?

4

1 に答える 1

0

最後に、CDが指し示した最良の方法を見つけました。Panel を Periods として拡張し、メソッド setPeriods を作成しました。その後、バインディングは完全に機能します。最も重要なことは、バインドされたフィールドのように命名されたメソッドの接頭辞「set」です。

...
xtype: 'Periods',
bind: {
    periods: '{veiwmodel.periods}'
}
...

ピリオドの内側:

Ext.define('Myapp.view.Periods', {
extend: 'Ext.panel.Panel',
...
setPeriods: function(items) {
    this.removeAll(true);
    this.add({...});
}
于 2015-10-14T11:09:05.247 に答える