根据第一个日期字段自动填充其他日期字段。
1. 我有 12 个索引“listOfPaysIndexes”的数组,我使用这个数组来迭代她并呈现 12 个 DateInput 字段。
2.您可以单击每个字段并选择日期。
3.当您在第一个 DateInput 中选择日期时,所有其他 DateInput 都应自动填充下个月。
当前的行为是:当您选择firstDate时,您在所有其他字段上都会获得相同的日期。
预期行为是:当您选择第一个日期时,每个下一个字段都会自动填充下一个月份日期。
问题是当我选择 2018 年 11 月 6 日时 我在第一个字段中得到的是 11 月 6 日,在所有其他字段中我得到的是 2018 年 12 月 6 日。
但应该继续切换到下个月并显示下个月的日期。
我认为这行代码有问题: return firstDate.add(1, 'months').format('MM/DD/YYYY')
代码示例:
fillingDatesArray = (data, values, periodType, periodLength) => {
let listOfPaysIndexes = []
listOfPaysIndexes = This array have 12 indexes
if (periodType === 'monthly') {
values.ending_period_monthly = listOfPaysIndexes.map(value => {
let firstDate = new Date(data.value)
return firstDate.add(1, 'months').format('MM/DD/YYYY')
})
}
最佳答案
尝试在 map
中克隆您的时刻日期,以便每个值都不是对同一时刻对象
的相同引用:
let firstDate = moment(data.value)
...
return firstDate.clone().add(1, 'months').format('MM/DD/YYYY')
而不是:
return firstDate.add(1, 'months').format('MM/DD/YYYY')
关于javascript - 在react/javascript中操作日期momentjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53339339/