我需要对正在使用的 Vuesax 数据表中的日期时间列应用切换排序。切换排序适用于所有其他列,日期时间列除外。我的代码如下(我只写了与问题相关的代码,请假设用户数据已正确加载):
<template>
<div>
<vs-table search :data="users">
<template slot="thead">
<vs-th sort-key="name">
Full Name
</vs-th>
<vs-th sort-key="email">
Email
</vs-th>
<vs-th sort-key="last_login">
Last Logged-in
</vs-th>
</template>
<template slot-scope="{data}">
<vs-tr
:key='index'
v-for='(user, index) in data'
>
<vs-td :data="user.name">
{{user.name}}
</vs-td>
<vs-td :data="user.email">
{{user.email}}
</vs-td>
<vs-td :data="formattedDateTime(user.last_login)">
{{formattedDateTime(user.last_login)}}
</vs-td>
</vs-tr>
</template>
</vs-table>
</div>
</template>
<script>
import moment from 'moment'
export default {
methods: {
formattedDateTime(dateTime) {
return dateTime ? moment(String(dateTime)).format('DD/MM/YYYY hh:mm A') : "N/A";
}
}
}
</script>
我欢迎所有建议,但我的猜测是 Vuesax 无法检测列数据类型;如果有一种方法可以强制执行 datetime 列的数据类型,那可能会解决问题。