当前位置: 首页 > 知识库问答 >
问题:

添加两个没有动作按钮的数字react.js

南门志
2023-03-14
import React, { Component } from 'react';

class App extends React.Component{
    constructor(){
        super();
        this.state ={
            num1 : 0,
            num2 : 0,
            result :0,
    }
    this.updateNum1=this.updateNum1.bind(this);
    this.updateNum2=this.updateNum2.bind(this);
    this.updateResult=this.updateResult.bind(this);
    };

    updateNum1(data){
        this.setState({
            num1 : data.target.value
        });
    }

    updateNum2(data){
        this.setState({
            num2 : data.target.value
        });
    }

    updateResult(){
    this.setState({
        result : parseInt(this.state.num1)+parseInt(this.state.num2)
    });
    }


    render(){
        return(
            <div>
                <input type ="number"  value={this.state.num1} 
                onChange = {this.updateNum1} />
                <input type ="number"  value={this.state.num2} 
                onChange = {this.updateNum2} />


                {/* <button onClick ={this.updateResult} >Add</button> 
     */}


                <h1>{this.state.result}</h1>
            </div>
        );
    }   
}
export default App;

//添加两个数字而不使用操作按钮//我想添加两个数字而不使用按钮1

我正在尝试通过输入字段中的默认值来添加两个数字。如果没有添加按钮,我如何添加这两个数字。例如,如果用户将num1值从0更改为4,它应该更新该值,添加NUM4值(num1=4+num2=0=结果4)。它应该自动更新第三个输入字段值或包含结果值的文本。

共有3个答案

充高扬
2023-03-14

您只需使用:

<h1>{this.state.num1 + this.state.num2 }</h1>
廖弘伟
2023-03-14

您可以在更新num1或num2状态时简单地设置结果状态。

updateNum1(data){
  this.setState({
    num1 : data.target.value,
    result: data.target.value + this.state.num2
  });
}

您也将对updateNum2方法执行同样的操作。

或者,您可以在jsx中动态地添加它们,而不是有一个结果状态。

<h1>Result: {this.state.num1 + this.state.num2}</h1>

而不是

<h1>{this.state.result}</h1>
颛孙庆
2023-03-14

您不必将结果存储在您的状态中,因为您可以通过当前状态来计算它:

class App extends React.Component {
  constructor() {
    super();

    this.state ={
      num1 : 0,
      num2 : 0,
    }
  }

  updateNum1(event) {
    this.setState({
      num1: event.target.value
    });
  }

  updateNum2(event){
    this.setState({
      num2: event.target.value
    });
  }

  render() {
    const { num1, num2 } = this.state;

    const total = parseInt(num1) + parseInt(num2);

    return (
      <div>
        <input
          type='number'
          value={num1}
          onChange={this.updateNum1.bind(this)}
        />
        <input
          type='number'
          value={num2}
          onChange={this.updateNum2.bind(this)}
        />

        <h1>{total}</h1>
      </div>
    );
  );
}   
 类似资料:
  • 你能帮我解决这个问题吗? 我在类<code>单元格</code>中创建按钮,并向该按钮添加一些默认操作。 在< code>Game类中,我想给这个按钮添加额外的动作,但我也想保留默认动作。 我知道新操作覆盖了以前的操作。因此,如果我单击按钮,它只会打印。 是否可以向按钮添加新操作并保留以前的连接?

  • 有没有一种方法可以让一个按钮从java调用一个方法,并在它执行后将其执行到浏览器中的一个新页面 目前,这个按钮在我的java应用程序中调用一个方法并执行它,但是当它执行时,它会转到一个空白页面。我希望它要么转到一个新页面,要么重定向到按钮所在的同一页面。

  • 我花了几个小时试图找到解决我问题的办法,但似乎找不到合适的办法。提前感谢您的协助! 我有一个html表单: 我想要两个提交按钮: 我想第一个提交按钮有formindb_hoh_1.php点击时的动作和第二个提交按钮有formindb_hoh_2.php的动作但我不确定如何使一个按钮有一个动作和有另一个按钮有不同的动作。

  • 系统自带数字键盘,添加“完成”自定义按钮。 作者说:今天临时急用数字键盘,发现系统的没带“完成”按钮。在这上面搜的都是人家写的自定义数字键盘太麻烦。所以在系统自带的数字键盘,加了个自定义按钮。支持各个版本,里面加了iphone 5的4寸屏幕判断。 [Code4App.com]

  • 我正在使用android 2.1,希望在Mapsavity上添加一个后退按钮。我在这一页上尝试了什么[在操作栏上显示后退按钮,但应用程序崩溃。我已经按照另一个论坛的建议将extends FragmentActivity替换为AppCompatActivity,但应用程序仍然崩溃。我知道这与操作栏有关,因为如果我删除它,应用程序就会工作。操作栏似乎为空。我被卡住了,已经启动了应用程序数次。下面是错误

  • 我想你已经看到了新的Android设计指南,新的“浮动动作按钮”,也就是“Fab”。