使用 primeng 和 angular 时无法对 'dd/mmm/yyyy' 中的 turbo table 列进行排序 5
Unable to sort on turbo table column in 'dd/mmm/yyyy' while using primeng and angular 5
我有一个要求,我想根据列的 headers 对 table 进行排序。
我为此目的使用了 PrimeNG turbotable 排序,一切正常,但是当我尝试对包含 'dd-mmm-yyyy' 格式的日期的列进行排序时(2016 年 11 月 12 日)它不会根据月份进行排序,它只需要 dd 并相应地对其进行排序。
我正在使用 angular 5
有人可以帮忙吗?
@Ayushi,在你的自定义排序中
customSort(event: SortEvent) {
event.data.sort((data1, data2) => {
let value1Data = data1[event.field];
let value2Data = data2[event.field];
let value1=this.transform(value1Data); //<--this
let value2=this.transform(value2Data); //<--this
....
}
}
//make a const array of meses
const meses:string[]=["Ene","Feb","Mar","Abr","May","Jun",
"Jul","Ago","Sep","Oct","Nov","Dic"];
//function transform
transform(value:string)
{
let step:string[]=value.split('-'); //separate the date in [dd,mmm,yyyy]
//month will be 01,02,03..12
let month=meses.indexOf(step[1])<9?'0'+(meses.indexOf(step[1])+1):''+(meses.indexOf(step[1])+1)
return step[2]+'-'+month+'-'+step[0]
}
我有一个要求,我想根据列的 headers 对 table 进行排序。
我为此目的使用了 PrimeNG turbotable 排序,一切正常,但是当我尝试对包含 'dd-mmm-yyyy' 格式的日期的列进行排序时(2016 年 11 月 12 日)它不会根据月份进行排序,它只需要 dd 并相应地对其进行排序。
我正在使用 angular 5
有人可以帮忙吗?
@Ayushi,在你的自定义排序中
customSort(event: SortEvent) {
event.data.sort((data1, data2) => {
let value1Data = data1[event.field];
let value2Data = data2[event.field];
let value1=this.transform(value1Data); //<--this
let value2=this.transform(value2Data); //<--this
....
}
}
//make a const array of meses
const meses:string[]=["Ene","Feb","Mar","Abr","May","Jun",
"Jul","Ago","Sep","Oct","Nov","Dic"];
//function transform
transform(value:string)
{
let step:string[]=value.split('-'); //separate the date in [dd,mmm,yyyy]
//month will be 01,02,03..12
let month=meses.indexOf(step[1])<9?'0'+(meses.indexOf(step[1])+1):''+(meses.indexOf(step[1])+1)
return step[2]+'-'+month+'-'+step[0]
}