【发布时间】:2019-03-27 23:53:45
【问题描述】:
我正在尝试通过将组件 Datepicker 与 Vue.js 一起使用来更新日历,但是在添加和删除项目(在本例中为 Date 对象)方面存在一些问题
我已经开发了两个 javascript 函数:一个用于将新日期添加到数组中,另一个用于删除同一数组中的特定日期。问题是,当网站加载时,我可以完美地添加新日期并删除最初创建的日期。但是我不能做的是添加一个新的日期然后删除它,因为我开发的函数,用于返回数组中日期索引的方法返回-1。
addDate: function(event) {
var fecha = document.getElementById("inputFecha").value;
var fecha2 = new Date(fecha);
availableDates.push(fecha2);
},
deleteDate: function(event) {
var collection = availableDates,
d = new Date(event.getFullYear(), event.getMonth(), event.getDate()),
idx;
idx = collection.map(Number).indexOf(+d);
if(idx!=-1){
availableDates.splice(idx,1);
}
}
以及我最初在同一个文件中创建的一些日期:
var availableDates = [];
availableDates.push(new Date(2019, 2, 29));
availableDates.push(new Date(2019, 2, 30));
availableDates.push(new Date(2019, 2, 28));
我需要的是无需为网站充值即可添加和删除的可能性。
【问题讨论】:
-
如果你能创建一个minimal reproducible example 会很有帮助,这样我们就可以运行代码并重现问题。你可以使用Stack Snippets。
-
请展示
fecha的典型内容 -
也许可以试试
availableDates.push(new Date(fecha2.getFullYear(), fecha2.getMonth(), fecha2.getDate())) -
没关系 - 但@StefanBlamberg - 如果你在格林威治标准时间以西,这可以解决
标签: javascript arrays date vue.js