【发布时间】:2020-12-11 09:42:15
【问题描述】:
所以我只是使用一种方法来过滤它,它就像一个魅力一样工作,但是当我提供的日期之间没有日期时,我丢失了我的原始数组(如预期的那样)。我该怎么做才能不丢失我的阵列。
我想要这个,因为当有人给出新日期时,无需重新加载即可过滤它。但我不能用空数组来做到这一点..
这是我的功能;
filterByDate(d) {
this.orders = this.orders.filter(
(element) =>
element.order.orderdate >= d[0] &&
element.order.orderdate <= d[1]
);
},
d[0] 是 fromDate,d[1] 是 toDate。谢谢。
【问题讨论】:
-
filter() 方法创建一个新数组而不是更改原始数组。您是否尝试过不使用 filter() 方法从原始数组中删除项目。
-
不,我没有,但我只是不想触摸我的原始数组,无论哪种方式,我都需要强制重新渲染或重新加载页面以从 api 获取原始数组。也许有一种 Vue 方式可以做到这一点,我对 Vue 很陌生!我刚刚将我的数组保存到存储并添加了一个按钮来重置它是我从存储中设置的原始数组,它实际上解决了我的问题。但是如果有更好的方法我正在等待它!
-
你为什么不使用
filterByDate(d)中存储的原始数组。我的意思是这样,this.orders = this.originalOrders.filter()。 Vuex 有mapState让这更容易。 -
太棒了!永远不要考虑那个。这解决了我的问题,非常感谢!
-
:) 欢迎您!您能否使用这些信息更新您的帖子,因为这样其他人更容易理解这一点。
标签: javascript arrays vue.js vuejs2 vue-component