react中组件中多个button怎么点击哪个,哪个绑定checked样式
时间: 2024-03-01 18:50:17 浏览: 20
如果你需要在 React 中实现多个按钮,并且需要点击其中一个按钮时,只有当前按钮绑定 checked 样式,其他按钮不受影响,可以按照以下步骤实现:
1. 在组件的 constructor 中初始化一个 state 属性,用于保存当前被选中的按钮的索引:
```javascript
constructor(props) {
super(props);
this.state = {
checkedIndex: -1
};
}
```
2. 在每个按钮的 onClick 事件中,将当前按钮的索引传递给一个回调函数 handleButtonClick:
```jsx
<button
className={this.state.checkedIndex === index ? 'checked' : ''}
onClick={() => this.handleButtonClick(index)}
>
按钮{index}
</button>
```
在 handleButtonClick 函数中,将当前按钮的索引更新到 state 中的 checkedIndex 属性:
```javascript
handleButtonClick(index) {
this.setState({ checkedIndex: index });
}
```
3. 在每个按钮的 className 中,根据 state 中 checkedIndex 属性的值来判断是否绑定 checked 样式:
```jsx
className={this.state.checkedIndex === index ? 'checked' : ''}
```
这样,只有当前被点击的按钮会绑定 checked 样式,其他按钮不受影响。