如何获得点击按钮的价值?

时间:2018-12-21 17:21:12

标签: javascript reactjs jsx

我想单击按钮的值。如何使用Refreenced函数提取值

class Calculator extends Component{
constructor(props){
    super(props);
    this.selectedNumber=this.selectedNumber.bind(this);
}
selectedNumber(e){
    const option = e.value;
    console.log(option);
    alert(option);
}
render(){
    return(
        <div>
            <p>
                <button onClick={this.selectedNumber} name="option">1</button>
                <button onClick={this.selectedNumber} name="option">2</button>
                <button onClick={this.selectedNumber} name="option">3</button>
            </p>
        </div>
    )
}

}

当我想单击按钮文本值为1的引用函数时,我想要1,依此类推。

,我收到此错误::::“警告:道具类型失败:您为没有value处理程序的表单字段提供了onChange道具。这将呈现一个只读字段。如果该字段是可变的,请使用defaultValue。否则,请设置onChangereadOnly。”

3 个答案:

答案 0 :(得分:1)

简单为:

class Calculator extends Component{
constructor(props){
    super(props);
    this.selectedNumber=this.selectedNumber.bind(this);
}
selectedNumber(n){
    const option = n;
    console.log(option);
    alert(option);
}
render(){
    return(
        <div>
            <p>
                <button onClick={() => this.selectedNumber(1)} name="option">1</button>
                <button onClick={() => this.selectedNumber(2)} name="option">2</button>
                <button onClick={() => this.selectedNumber(3)} name="option">3</button>
            </p>
        </div>
    )
}

答案 1 :(得分:1)

您可以使用:activemq-camel 5.6 Dependencies ( partial list) [INFO] \- org.apache.activemq:activemq-camel:jar:5.6.0:compile [INFO] +- org.apache.camel:camel-jms:jar:2.9.2:compile [INFO] \- org.apache.activemq:activemq-core:jar:5.6.0:compile [INFO] +- org.fusesource.fuse-extra:fusemq-leveldb:jar:1.1:compile [INFO] | +- org.apache.hadoop:hadoop-core:jar:1.0.0:compile

获取元素的文本。
e.target.textContent

答案 2 :(得分:0)

您可以设置每个按钮的value属性:

class Calculator extends Component{

    constructor(props){
        super(props);
        this.selectedNumber=this.selectedNumber.bind(this);
    }
    selectedNumber(e){
        const option = e.target.value;
        console.log(option);
        alert(option);
    }
    render(){
        return(
            <div>
                <p>
                    <button onClick={this.selectedNumber} value={1} name="option">1</button>
                    <button onClick={this.selectedNumber} value={2} name="option">2</button>
                    <button onClick={this.selectedNumber} value={3} name="option">3</button>
                </p>
            </div>
        )
    }
}