javascript - 在react/javascript中操作日期momentjs

标签 javascript arrays reactjs datepicker momentjs

根据第一个日期字段自动填充其他日期字段。

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')
  })
}

这是该 DateInputs 的屏幕截图: enter image description here

最佳答案

尝试在 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/

相关文章:

javascript - 为什么使用此 JSON 解析 JSON 响应时出现错误?

javascript - 以多种方式对 D3.js 条形图进行排序(升序和降序)

python - 多维数组索引

java - 将 BufferedImage 转换为 byte[],不会损失质量并增加大小

javascript - React 无法渲染状态属性

javascript - 使用 React 设置 React-Redux

javascript - 如何比较数组和更新数量?

c - 如何访问二维数组的外边界元素?

javascript - CSS 模块在 React 16.13.1 中不起作用

javascript - image.onload 函数 - 为什么它不起作用?