首页 > 解决方案 > 输入文本 REACT 的值

问题描述

单击按钮时如何设置输入框的值。当我单击按钮时,它将生成一个字符串并将其放入 this.state.classCode 中。

我的错误是什么?提前致谢

this.handleGetCode =  this.handleGetCode.bind(this);

handleGetCode(event){
        const cryptoRandomString = require('crypto-random-string');

        let random = cryptoRandomString({length: 4});
        let randomUp = random.toUpperCase();
        let classcodes = this.state.classCode;
        this.setState({[event.target.name]: classcodes});
    }

<div className="col-md-12 m-b-15">
     <label className="control-label">Class Code<span className="text-danger">*</span></label>
     <input type="text" className="form-control" placeholder="Class Code" name="classCode" value={this.state.classCode} onChange={this.handleChange} required="" />
     <button onClick={this.handleGetCode}>Get Code</button>
</div>

标签: reactjsbuttonevent-handling

解决方案


根据您的 statemnet,当我单击按钮时,它将生成一个字符串并将其放入 this.state.classCode中,您不会在任何地方使用新生成的字符串。而且,假设您已经有一个 onChange 处理程序,您可以像这样修改 handleGetCode()

handleGetCode(event){
        const cryptoRandomString = require('crypto-random-string');
        let random = cryptoRandomString({length: 4});
        let randomUp = random.toUpperCase();
        this.setState({classCode: randomUp});
}

推荐阅读