reactjs - 单击时更改按钮的样式

标签 reactjs react-bootstrap

是否可以更改按钮onClick 函数的background-color

例如。单击背景颜色:黑色,再次单击背景颜色:白色

我尝试过类似 this.style 的方法,但没有结果。

我已经成功地使覆盖工作并在其中插入所需的数据。 但没有找到任何可以帮助我的帖子。 我正在使用 react 引导。 这是我的代码。

  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>
  )

最佳答案

您可以尝试使用状态来存储颜色。也许这会让您知道如何解决问题:

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'));

Here is a fiddle.

关于reactjs - 单击时更改按钮的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978408/

相关文章:

css - 在 ReactJS 中覆盖 css 类

javascript - React-bootstrap:没有 NavItem 的导航?

reactjs - 如何创建一个简单的受密码保护的 React 应用程序? session 或事件中的每个人都会使用的单一密码

reactjs - 使用react和jest测试文本输入

reactjs - 导航链接上的 activeClassName 不起作用 - react

javascript - 替换数组状态中的元素(并受益于 ReactJS 快速渲染)

reactjs - 使用scss的自定义样式以进行react-bootstrap

javascript - 类型错误 : enterPage is undefined in OnsenUI 2 React navigator

reactjs - Jest expect.any() 没有按预期工作

reactjs - 使用 React-Navigation v4 延迟加载特定选项卡