【发布时间】:2018-04-13 09:50:37
【问题描述】:
使用 react,我有一个带有图标的按钮,一个字体很棒的按钮。我想在点击图标之间切换:图标是带有标题和布尔值的眼睛。如果布尔值是真的,眼睛应该是睁开的。如果单击相同的按钮,则布尔值变为 false,并且按钮的图标应更改为关闭。 我的按钮已经进行了验证,因此如果布尔值是真或假,它将更改图标,我的问题是更改布尔 onClick。尝试使用 setState 无法这样做。
我的按钮:
{props.eyes.map(eye => {
return (<div className={"column is-2"}>
<button
className={eye.toggled === 'true' ? "button is-white fa fa-eye" : "button is-white fa fa-eye-slash"}
onClick={() => props.pickEye(eye)}/>
{eye.tituloEye}
</div>)
})}
我的状态:
state = {
eyes:
[
{
toggled: 'false',
tituloEye: 'porta'
},
{
toggled: 'true',
tituloEye: 'prateleira'
},
],
eyeSelecionado: '',
}
我得到了像这样的点击按钮:
pickEye = (eye) => {
this.setState({eyeSelecionado: eye});
};
【问题讨论】:
-
您正在切换您的状态,但您的渲染代码中根本没有使用该状态。既然没有变化,就渲染成一样的。
标签: javascript reactjs button icons