reactjs - 在反应 js 中切换显示/隐藏 li 上的“活动”类
问题描述
嗨,我想在单击 ul 中的 li 时显示/隐藏课程。以下是ul的代码:
<ul className="period">
<li className="" onClick={this.onChangeForDays} value="Indefinitely">Indefinitely</li>
<li className="active" onClick={this.onChangeForDays} value="1">1 Day</li>
<li className="" onClick={this.onChangeForDays} value="7">1 Week</li>
<li className="" onClick={this.onChangeForDays} value="30">1 Month</li>
<li className="" onClick={this.onChangeForDays} value="90">3 Months</li>
<li className="" onClick={this.onChangeForDays} value="180">6 Months</li>
</ul>
所以我想要实现的是编写一个通用函数,当我单击任何一个<li>
它应该显示active
该特定类<li>
并隐藏active
所有其他类时<li>
。还有一件事我想active
在其中一个上默认显示类,<li>
所以可以说我想首先默认<li>
有active
类,我试图编写函数但我卡住了。
onChangeForDays(changeEvent) {
this.setState({
'fordays': changeEvent.target.value,
'isActive': true
});
}
我怎样才能做到这一点有人可以帮忙。谢谢
解决方案
您可以使用this.state.fordays
inrender
检查哪个元素处于活动状态
<li className={this.state.fordays === 'Indefinitely' ? 'active' : ''} onClick={this.onChangeForDays} value="Indefinitely">Indefinitely</li>
推荐阅读
- flutter - Flutter carouse_slider 图像总是刷新使应用程序崩溃
- javascript - Javascript 导出本地存储
- jenkins - 是否有 Jenkins 插件可以在所有作业中添加/编辑值而不是修改每个作业
- php - PHP 表单提交是否会导致整个文件刷新?
- python - 在 pandas 的单列数据框上使用多个正则表达式
- javascript - 在无序列表内对齐项目
- javascript - Jest es6 类模拟返回未定义
- python - 从列表中循环以替换 API 的代码
- git - 没有添加到 repo,但它仍然在拉取时显示了一些额外的日志
- swift - 我的应用程序中的图像(编码 base64)无法通过 Web 服务器发送