在 React Js 中单击按钮时在 div 中填充输入表单字段

IT技术 reactjs ecmascript-6
2021-05-18 09:17:18

我必须在 reactjs 中单击按钮时显示用户在文本框下方的输入表单字段中输入的输入文本值。我已经从渲染函数中创建了该函数,并且正在返回值并在单击按钮时调用该函数,但它对我不起作用。我没有得到我在同一页面上的文本框中写的按钮点击的value。有什么办法解决这个问题?

在这里,我创建了用于设置输入状态的函数, 在这里我必须在表达式中单击按钮时返回状态

1个回答

这是你想要的吗?

class Test extends React.Component {
  constructor(props){
    super(props);

    this.state = {
      values: {},
      showValues: {}
    }
  }

  handleChange(name, e){
    let values = this.state.values;
    values[name] = e.target.value;
    this.setState({values: values})
  }

  handleClick(e){
    let inputValues = this.state.values;
    this.setState({showValues: inputValues});
  }

  render(){
    return (
            <div>
                <input type="text" value={this.state.values["one"]} onChange={this.handleChange.bind(this, "one")}/>
                <p>{this.state.showValues["one"]}</p>
                <input type="text" value={this.state.values["two"]} onChange={this.handleChange.bind(this, "two")}/>
                <p>{this.state.showValues["two"]}</p>
                <input type="text" value={this.state.values["three"]} onChange={this.handleChange.bind(this, "three")}/>
                <p>{this.state.showValues["three"]}</p>
                <input type="text" value={this.state.values["four"]} onChange={this.handleChange.bind(this, "four")}/>
                <p>{this.state.showValues["four"]}</p>

                <button onClick={this.handleClick.bind(this)}>Show value</button>
           </div>
    )
  }
}

React.render(<Test />, document.getElementById('container'));

这是更新的jsfiddle