首页 > 解决方案 > 我如何设置状态?

问题描述

在 onchange 中设置 setState() 并尝试更改值时,它只写入或删除 1 个字符。问题是什么?

enter code here:

  constructor() {
      super();
       this.state = {lw1val:null}
   }

   {this.state.isLw1 ? (
                <input 
                onChange={e => {
                  this.setState({ lw1val: e.target.value })

                }}
                value={this.state.lw1val}
                  onKeyPress={event => {

                    if (event.keyCode === 13 || event.which === 13) {
                      var inPutData = [
                        {
                          filterType: "is-equal-to",
                          value: event.target.value
                        }
                      ];

                      onChange(inPutData);
                    }
                  }}
                />
              ) : null}

标签: javascriptreactjssetstate

解决方案


在输入标签中,指定哪个是您的值:

<input value={this.state.lw1val} onChange= {event => this.setState({ lw1val: event.target.value })} />

推荐阅读