Isih lajur PrimeVue DataTable mengikut tarikh/masa
P粉985686557
P粉985686557 2023-11-22 20:52:06
0
1
613

Saya mempunyai Jadual Data PrimeVue (https://primefaces.org/primevue/datatable) yang disusun seperti berikut:

<DataTable
  :rows = "5"
  :value = "apiItems"
>
  <Column
    v-for="data in columns"
    :field="data.field"
    :header="data.header"
    :key="data.field"
    :sortable="true"
    />
</DataTable>

di mana jadual diisi dengan data yang diterima daripada panggilan API, dengan reka letak medan disenaraikan di bawah:

const columns = [
  { field: 'initialDate', header: 'Initial Date'},
  { field: 'finishDate', header: 'Finish Date'}
];

Data yang diambil daripada API adalah dalam bentuk komponen JS Date() dan dipaparkan seperti berikut: kedua-dua initialDate dan finishDate ialah "08/01/2022 08:33:32"

Bagaimana saya boleh mengisih lajur mengikut tarikh dan cap masa dalam tertib menaik atau menurun, dan sekarang, mengisih lajur hanyalah mengenai menyusun semula nilai berdasarkan nombor pertama yang tersedia (yang kebetulan saya memerlukannya); bukan sahaja sesuai dengan bulan yang betul, tetapi Susun mengikut masa.

Sebarang bantuan adalah dihargai, terima kasih.

P粉985686557
P粉985686557

membalas semua(1)
P粉426906369

Kandungan yang anda terima daripada API tidak boleh Date() 对象,但可能是 string. Jadi jika anda mengisih mengikut lajur ini, baris akan diisih secara leksikografi, bukan mengikut kronologi.

Untuk mengelakkan ini, anda harus menukar data daripada API kepada Date objek. Isih mengikut kronologi adalah sangat mudah jika anda menukarnya kepada cap masa:

for (item of apiItems) {
  item.initialDateObj = new Date(item.initialDate)
  item.initialDateTimestamp = item.intialDateTimeObj.getTime()
}

Anda kemudian boleh menentukannya sebagai medan untuk mengisih lajur mengikut:

const columns = [
  { field: 'initialDate', sortField: 'initialDateTimestamp', header: 'Initial Date'},
  { field: 'finishDate', sortField: 'finishDateTimestamp', header: 'Finish Date'}
];
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan