问题描述
我正在尝试在 vue-chartjs 中实现一种日期选择方法。这是我在方法生命周期钩子中使用的函数:
DateSelect(event) {
const period = event.target.value
let minValue = new Date(Math.max(...this.date) * 1000)
const axisXMin = new Date(Math.min(...this.date) * 1000)
switch (period) {
case '1m':
minValue.setMonth(minValue.getMonth() - 1)
break
case '3m':
minValue.setMonth(minValue.getMonth() - 3)
break
case 'ytd':
minValue.setFullYear(minValue.getFullYear() - minValue.getMonth()) //Here I want to implement the YTD Logic.
break
default:
minValue = axisXMin
}
const data = this.data.filter(el => {
return el.x >= minValue
})
this.GraphOutput(data) // this is vue-chartjs function.
}
这里的逻辑“1m”和“3m”工作得非常好,因为当用户点击相应的按钮时,它们会向用户显示前 1 个月和 3 个月的图表。
我想知道如何在我上面使用的函数中实现 YTD(年初至今)逻辑。请帮帮我。
解决方法
据我所知,您可能需要图表中的一整年数据。所以你需要设置最小值如下:
case 'ytd':
minValue.setYear(minValue.getFullYear() - 1);
break