vue.js 在v-for中按升序排序数据

c3frrgcw  于 2022-11-30  发布在  Vue.js
关注(0)|答案(1)|浏览(238)

我在尝试在v-for循环中按日期对数据数组进行排序时遇到了问题。我尝试了orderBy,但没有成功。
下面是简化的v-for循环:

<div v-for="article in articles">
   <div class="article-date">{{ article.dateYear }}/{{ article.dateMonth }}</h1>
   <h1>{{ article.title }}</h1>
   <h3>{{ article.description }}</h3>
</div>

我的基本计算属性:

articles() {
       return this.$store.state.articles;
 }

每篇文章都有一个dateDay、dateMonth和dateYear,所以我想做的是date = article.dateYear + article.dateMonth + article.dateDay,并使用带有orderBy的日期变量,但它不起作用。
这样做更好吗?
感谢您抽出宝贵时间!

v64noz0r

v64noz0r1#

在文章帮助器中,首先对文章进行排序:

articles() {
    const { articles } = this.$store.state;
    articles.sort(function(a,b){
        return new Date(b.date) - new Date(a.date);
    });
    return articles;
}

相关问题