use*_*597 16 reactjs react-bootstrap
是否可以更改background-color
我的按钮onClick
功能?
恩.点击background-color: black
,再点击一下background-color: white
我尝试过类似的东西this.style
,没有结果.
我设法让覆盖工作并在其中插入所需的数据.但没有找到任何可以帮助我的帖子.我正在使用react-bootstrap.这是我的代码.
const metaDataOverlay = (
<div>
<style type="text/css">{`
.btn-overlay {
background-color: white;
margin-right: -15px;
margin-left: -15px;
padding-bottom: -20px;
padding: 0;
}
`}</style>
<ButtonToolbar>
<ButtonGroup>
<OverlayTrigger trigger={['hover', 'focus']} placement="left" overlay={popoverHoverFocus}>
<Button bsStyle="overlay" onClick={ clicked } onKeyPress={ keypress }>
<div className={bemBlocks.item().mix(bemBlocks.container("item"))} data-qa="hit">
<a href={url} onClick={(e)=>{e.preventDefault(); console.log("123")}}>
<div>
<img data-qa="poster" className={bemBlocks.item("poster")} src={result._source.poster} width="240" height="240"/>
</div>
</a>
</div>
</Button>
</OverlayTrigger>
</ButtonGroup>
</ButtonToolbar>
</div>
)
Run Code Online (Sandbox Code Playgroud)
Bok*_*oky 26
您可以尝试使用状态来存储颜色.也许这会让你知道如何解决问题:
class Test extends React.Component {
constructor(){
super();
this.state = {
black: true
}
}
changeColor(){
this.setState({black: !this.state.black})
}
render(){
let btn_class = this.state.black ? "blackButton" : "whiteButton";
return (
<button className={btn_class} onClick={this.changeColor.bind(this)}>
Button
</button>
)
}
}
React.render(<Test />, document.getElementById('container'));
Run Code Online (Sandbox Code Playgroud)
Dmi*_*nko 16
您还可以访问事件的事件和当前目标
handleClick = (event) => {
// accessible
event.target.style
event.target.classList //to change style via css
}
Run Code Online (Sandbox Code Playgroud)