0

我有一个要求,我想根据列的标题对表格进行排序。

我为此目的使用了 PrimeNG turbotable 排序,一切正常,但是当我尝试对包含格式为“dd-mmm-yyyy”(2016 年 11 月 12 日)的日期的列进行排序时,它不会根据月它只需要 dd 并相应地对其进行排序。

我正在使用 angular 5

我拿了代码的链接

有人可以帮忙吗?

4

1 回答 1

1

@Ayushi,在您的 customSort 中

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]
 }
于 2018-03-02T08:01:40.473 回答