【发布时间】:2021-09-22 19:08:04
【问题描述】:
在下面的 ReactJS 组件中,我使用 React.createElement() 呈现 3 个按钮。我想添加功能,其中单击的按钮获得“选定”类,而所有其他按钮都获得“未选择”类。此外,当组件首次加载时,我希望第一个按钮(“全选”)具有“选定”类。
现在我已经使用 jQuery 编写了这个按钮逻辑,但我想知道如何在所有 React 中做到这一点。
class Mychart extends React.Component {
constructor(props) {
super(props);
this.state = {}
}
handleClick(i) {
// for all buttons: remove 'selected' class, add 'unselected' class
$('.custom-btn').removeClass('selected').addClass('unselected');
// for the button we're clicking on: remove the 'unselected' class, add 'selected' class
$('.custom-btn[index='+i+']').removeClass('unselected').addClass('selected');
}
render() {
[{label: 'Select All', label: 'Select Legacy', label: 'Select Kids'}].map((button, i) => {
return React.createElement('button', {className: i === 0 ? 'custom-btn selected' : 'custom-btn unselected', index: i, onClick: () => {this.handleClick(i)} }, button.label)
});
}
}
ReactDOM.render(React.createElement(Mychart), parent);
【问题讨论】:
-
为什么不使用已有的
:focus选择器而不是一个类? -
@ControlAltDel 我该怎么做?
标签: javascript jquery css reactjs