当前位置: 首页 > 知识库问答 >
问题:

表排序日期不正确

芮雪风
2023-03-14

预期:我将从返回的API中获取日期时间字符串。该值“2019-08-15T15:58:14.597Z”应在表格中显示为'DD-MM-YYYY HH:MM。Vuetify附带了一个数据表组件,可以对数据进行升序和降序排序。我还想对日期使用此功能,使其按升序和降序排序。

简短的问题:应用编程接口中的日期应该以表中的另一种“样式”保存和显示,但是排序功能使用真实的日期对象。

我当前的代码:

<template>
    <v-content class="mt-12 ml-12">
        <h1 class="font-weight-black display-3">Servers</h1>

        <v-data-table
            class="elevation-1"
            :headers="headers"
            :items="columns"
            :items-per-page="15"
        >
        </v-data-table>

        <ul id="example-1">
            <li v-for="(data, index) in columns.data" :key="index">
                {{ data.attributes }}
            </li>
        </ul>
    </v-content>
</template>

<script>
import instances from '../services/instances';

export default {
  data() {
    return {
      columns: [],
      headers: [
        { text: 'Server Name', value: 'attributes.name' },
        { text: 'Spieler', value: 'attributes.playerCount' },
        { text: 'Avg. FPS', value: 'attributes.details.rust_fps_avg' },
        { text: 'Wiped', value: 'attributes.details.rust_last_wipe' },
      ],
    };
  },
  async created() {
    const { data } = await instances.createInstance();
    this.columns = data.data;
    this.columns.forEach((entry) => {
      const { players, maxPlayers } = entry.attributes;
      entry.attributes.playerCount = `${players} / ${maxPlayers}`;
      const { rust_last_wipe } = entry.attributes.details;
      const mmmm = new Date(entry.attributes.details.rust_last_wipe);
      entry.attributes.details.rust_last_wipe = `${mmmm.getDate()}.${mmmm.getMonth() + 1}.${mmmm.getFullYear()}`;
    });
    console.log(this.columns);
  },
};
</script>

共有1个答案

高晋
2023-03-14

在本文档中,有一种自定义列内容的方法

基于此,我们可以做到:

<template>
  <v-content class="mt-12 ml-12">
    <h1 class="font-weight-black display-3">Servers</h1>

    <v-data-table
      class="elevation-1"
      :headers="headers"
      :items="columns"
      :items-per-page="15"
    >
      <template v-slot:item.attributes.details.rust_last_wipe="{ item }">
        <span>{{ item.attributes.details.rust_last_wipe_formatted }}</span>
      </template>
    </v-data-table>

    <ul id="example-1">
      <li v-for="(data, index) in columns.data" :key="index">
        {{ data.attributes }}
      </li>
    </ul>
  </v-content>
</template>

<script>
import instances from '../services/instances'

export default {
  data() {
    return {
      columns: [],
      headers: [
        { text: 'Server Name', value: 'attributes.name' },
        { text: 'Spieler', value: 'attributes.playerCount' },
        { text: 'Avg. FPS', value: 'attributes.details.rust_fps_avg' },
        { text: 'Wiped', value: 'attributes.details.rust_last_wipe' }
      ]
    }
  },
  async created() {
    const { data } = await instances.createInstance()
    this.columns = data.data
    this.columns.forEach(entry => {
      const { players, maxPlayers } = entry.attributes
      entry.attributes.playerCount = `${players} / ${maxPlayers}`
      const { rust_last_wipe } = entry.attributes.details
      const mmmm = new Date(entry.attributes.details.rust_last_wipe)
      entry.attributes.details.rust_last_wipe_formatted = `${mmmm.getDate()}.${mmmm.getMonth() + 1}.${mmmm.getFullYear()}`
    })
    console.log(this.columns)
  }
}
</script>
 类似资料:
  • 我有一个Java,它被转换成,这样就可以用以下样式查看它: i、 e 现在的问题是,当我对日期列进行排序时,日期并没有按应有的顺序进行排序。 当前行为:预期行为: 我知道这是因为排序是基于字符串发生的。 我的问题是:有没有办法保留我想要显示日期的格式,并且仍然能够将它们作为日期排序?我可以把它们转换成字符串以外的任何形式吗? 请注意,我无法编辑排序机制。我唯一的选择是为专栏提供一个合适的日期格式。

  • 问题内容: 我有一个日期字符串的任意列表(mm-yyyy),如下所示: 我需要此列表首先按年(升序)级别排序,然后按月(升序)级别排序..以便逻辑顺序可以是: 我该如何实现? 问题答案: 尝试这个:

  • 值为ReinsDepositAmount ** ** 我最近在kendo UI网格中存储了一个应用程序日期排序。 在剑道网格中,列名是这样定义的 的传入值-月、日、年格式。1991年8月23日 字段名称为ReinsDepositDate: 在对日期进行排序时,其排序基于第一个值 1994年1/12 2015年1月23日 1992年1月13日 意思是当我提升的时候 1994年1/12 1992年1月

  • 因此,我有两个表,它显示的值类似于Facebook look-a feed。它们都有一个列,名为,但我希望它们按日期desc排序。 我认为加入是正确的方式(?),但不太确定。有人能帮帮我吗? 目前我在两个不同的查询中有它们: 而且 我该怎么做呢?

  • 问题内容: 如何排序日期对象列表?例如,我有未排序的日期对象列表。如何从此列表中获取最大值/最小值? 问题答案: 使用列表排序方法: 有关如何排序的更多信息。

  • 我有一个对象列表,其中的数据如下: XYZ 11-10-2012 ABC 11-10-2012 PQR 20-04-2012 IJK 24-08-2012 MnO 22-05-2014