简体   繁体   English

如何在 reactjs 的下拉列表中添加日期列表

[英]how to add date list inside dropdown in reactjs

I am trying to display list of all month in a dropdown so that user will be able to filter data accordingly.我正在尝试在下拉列表中显示所有月份的列表,以便用户能够相应地过滤数据。 I am using momentjs I have added the list of date but the problem is i want to display this something like this.我正在使用momentjs我添加了日期列表,但问题是我想显示这样的内容。 日期 Here in the circled one i want to display the next month.在带圆圈的地方,我想在下个月显示。 I don't know how to do that.我不知道该怎么做。 Any help would be great.任何帮助都会很棒。

This is my code这是我的代码

let dateDisplay = [];
    for (let i = 0; i <= 12; i++) {
        const date = moment().add(i, 'month').calendar();

        dateDisplay.push(date);
    }
    console.log('invoiceDt', dateDisplay);
<MenuItem>
                    <em>Select Date</em>
                  </MenuItem>
                    {dateDisplay.map((item, index) =>{
                        console.log('invItem', item);
                            return <MenuItem value="SYSTEM">{`${item} ~ ${item} `}</MenuItem>
                        }
                     )}


                </Select>

Use the format method:使用格式方法:

const date1 = moment().add(i, 'month').format('MM/DD/YYYY');
const date2 = moment().add(i + 1, 'month').format('MM/DD/YYYY');

dateDisplay.push([date1, date2])

Later:之后:

return <MenuItem value="SYSTEM">{`${item[0]} ~ ${item[1]} `}</MenuItem>

you can do is something like below: use loop to make you html and then render.你可以做如下的事情:使用循环让你 html 然后渲染。

let dateDisplay = [];
    for (let i = 0; i <= 12; i++) {
        const date = moment().add(i, 'month').calendar();

        dateDisplay.push(date);
    }
    console.log('invoiceDt', dateDisplay);

After this make you desired html like在这之后让你想要 html 喜欢

const items = []
for(var i = 0 ; i < dateDisplay.length - 1; i ++){
items.push(<MenuItem value="SYSTEM">{`${dateDisplay[i]} ~ ${dateDisplay[i+1]} `}</MenuItem>)
}

and then接着

 return (
    <div>
      {items}
    </div>
  )

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM