2
ストアのソーターを再利用して配列をソートする比較関数を作成したいと思います。それが失敗したExt.util.Sortableを使用して配列を並べ替える
// Data to sort
var data = [
{rank: 2, name: 'Zebra'},
{rank: 2, name: 'Aardvark'},
{rank: 1, name: 'Lion'}
];
// Sort by rank, then by name, case-insensitive
var sorters = [
{property: 'rank'},
{property: 'name', transform: function(x) {return x.toLowerCase();}}
];
// Will need this
var util = Ext.create('Ext.util.Sortable');
// Normalize the sorters
var decoded = util.decodeSorters(sorters);
// Create a comparator
var comparator = util.createComparator(decoded);
// Sort the data using the comparator
// *** fails here in ExtJS 5 ***
Ext.Array.sort(data, comparator);
// Output
Ext.Msg.alert('Success', JSON.stringify(data));
は、それが関連する機能を、ソートのいくつかの層の奥深くthis.sorterFn is not a function
言う:ここで私は単純化したコードです。 ExtJS 6で上記のことが完全に確認されています。
これまでには長い時間がかかりましたので、あまりにも下位レベルに入る前にこれを行うのは簡単ですか?つまり、データストア用のsorters
を再利用して、data
をソートしますか?
または、おそらく適用できるパッチはありますか?