我有以下情况
在软件中,商店组合框的特征由客户端定义为字符串,但组合框的类型是:
A 1 一个 11 A2 一个21 一个 3 ...
但是我的客户需要像下面这样的类型 甲 1 A2 A 3 一个 11 21...
我如何从前方威胁获取这些信息并正确排序渲染?
您需要使用排序器功能并根据您的用例更新逻辑,如下所示,
Ext.application({
name: 'YourApp',
launch: function () {
var Store = Ext.create('Ext.data.Store', {
data: [
{ sampledata: 'A 1' },
{ sampledata: 'A 11' },
{ sampledata: 'A 2' },
{ sampledata: 'A 21' },
{ sampledata: 'A 3' }
],
sorters: [{
sorterFn: function(item1, item2) {
var pattern = /([A-Za-z]+) (\d+)/;
var match1 = item1.get('sampledata').match(pattern);
var match2 = item2.get('sampledata').match(pattern);
var groupComparison = match1[1].localeCompare(match2[1]);
if (groupComparison !== 0) {
return groupComparison;
}
var num1 = parseInt(match1[2], 10);
var num2 = parseInt(match2[2], 10);
return num1 - num2;
}
}]
});
Ext.create('Ext.form.ComboBox', {
store: Store,
displayField: 'sampledata',
fieldLabel: 'ComboBox',
renderTo: Ext.getBody()
});
}
});