在使用ngzorro时候碰到的,对中文或者其他字符进行排序
返回一个数字表示是否 引用字符串 在排序中位于 比较字符串 的前面,后面,或者二者相同。
- 当 引用字符串 在 比较字符串 前面时返回 -1
- 当 引用字符串 在 比较字符串 后面时返回 1
- 相同位置时返回 0
// The letter "a" is before "c" yielding a negative value
'a'.localeCompare('c');
// -2 or -1 (or some other negative value)
// Alphabetically the word "check" comes after "against" yielding a positive value
'check'.localeCompare('against');
// 2 or 1 (or some other positive value)
// "a" and "a" are equivalent yielding a neutral value of zero
'a'.localeCompare('a');
// 0
配合nzTable来使用:
Name | Age | Address |
---|---|---|
Jim Green | 42 | London No. 1 Lake Park |
Jim Red | 32 | London No. 2 Lake Park |
export class NzDemoTableSortFilterComponent {
listOfColumns: ColumnItem[] = [
{
name: 'Name',
sortOrder: null,
sortFn: (a: DataItem, b: DataItem) => a.name.localeCompare(b.name),//排序函数
sortDirections: ['ascend', 'descend', null], // 支持正序,倒序,无序
filterMultiple: true,
listOfFilter: [
{ text: 'Joe', value: 'Joe' },
{ text: 'Jim', value: 'Jim', byDefault: true }
],
filterFn: (list: string[], item: DataItem) => list.some(name => item.name.indexOf(name) !== -1)
},
此属性接受一个布尔值。true 代表接受服务端排序。
数据量较多情况下建议把排序放在后端。