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
进行排序?
或者,有没有可能是一个补丁,我可以申请吗?