【发布时间】:2019-03-12 15:56:11
【问题描述】:
我有一个问题,如何使用多个切换类
请查看下面我的示例
我想单击<TaxItem /> 并为该元素添加一些类,然后第二次单击以删除该类
import React, { Component } from "react";
import TaxItem from "./TaxItems/"
import Pentagon from "../../../assets/images/pentagon.png"
class Taxs extends Component {
constructor(props) {
super(props)
this.state = {
taxStatus: false
}
this.handleTaxStatus = this.handleTaxStatus.bind(this);
}
handleTaxStatus(element) {
console.log('sdasa', element)
}
render() {
return (
<div className="taxs">
<TaxItem
image={Pentagon}
name='Item 1'
taxStatus={false}
handleTaxStatus={this.handleTaxStatus(this)}
/>
<TaxItem
image={Pentagon}
name='Item 2'
taxStatus={false}
handleTaxStatus={this.handleTaxStatus(this)}
/>
</div>
)
}
}
export default Taxs
在这里你可以检查我有 onClick 的按钮:
import React, { Component } from "react";
class TaxItem extends Component {
render() {
return (
<div className="tax-item" onClick={this.props.handleTaxStatus}>
<div className={this.props.taxStatus ? 'checked on' : 'checked'}><i className="icon icon-check"></i></div>
<img src={this.props.image} alt="Pentagon" />
<p>{this.props.name}</p>
</div>
)
}
}
export default TaxItem
我如何使用这个,比如 jQuery。
【问题讨论】:
-
是的,但我只有一个按钮可以点击
-
您好!.. 首先,您应该通过创建一个功能性示例来修复您的示例,而不是仅仅放置两个 React 组件实现.. :) 无论如何,如果您只想将类添加到单击
TaxItem,那么您需要为每个taxStatus属性,并将不同的taxStatus传递给每个TaxItem。使用 "this" 会导致直接修改 DOM,在这种情况下可以避免 -
@BorisCivcic 裁判确实如此。试一试,如果你无法解决,请再次询问。
标签: reactjs