首页 > 解决方案 > 在特定 Array 元素中添加 className 的解决方案

问题描述

我创建了一个日历,但找不到在日期等于“今天”时添加一个 className 的解决方案,请参阅链接演示:

https://compassionate-beaver-fe6c05.netlify.com/

代码是:

https://github.com/fzabra/react-calendar/blob/master/src/Components/Calendar.jsx

以下条件返回今天的日期:

 if (dateDay === today.getDate() && currentYear === today.getFullYear() && currentMonth === today.getMonth()) {
   console.log(dateDay)   
}

观察控制台显示今天的日期。今天的广场是一个it元素,有一个id="dateDay",我认为像document.getElementById这样的东西不起作用,有人有什么想法吗?

谢谢

标签: reactjs

解决方案


使用.box .greenCSS 文件中的类,您可以push在条件<Table.Cell>内部ifelse不使用className,如下所示:

if (dateDay === today.getDate() && currentYear === today.getFullYear() && currentMonth === today.getMonth()) {
  children.push(<Table.Cell key={j} id={dateDay} className="box green">{dateDay}</Table.Cell>)
  } else{
  children.push(<Table.Cell key={j} id={dateDay} className="box">{dateDay}</Table.Cell>)

这样,当前日期将具有绿色背景。
结果
在此处输入图像描述

完整代码


推荐阅读