React输入文本默认值和onblur函数使输入文本只读

时间:2016-09-27 12:19:31

标签: javascript reactjs

伙计们,我正在研究反应js

我创建了一个输入文本,并且在输入按钮模糊时,我正在调用方法并更新状态变量

但似乎如果我使用模糊而不是onChange,则输入文本将变为只读字段

MainPage = new ContentPage {
  Content = new View1()
};

1 个答案:

答案 0 :(得分:2)

您需要添加onChange侦听器,否则无法使用。

原因:当您指定value = {this.state.value}时,表示您将输入文本值绑定到变量值,并且react接管控件以更新输入框中的值。通过添加onChange监听器,你告诉反应调用组件函数来更新值,它基本上更新组件的状态,强制它调用渲染函数并更新输入文本中的值。

      changeTo: function (e) {
          this.setState({value: e.target.value});
      },

      updateValue: function (e) {
          this.setState({value: e.target.value});
      },

      render: function () {
          return (
              <div>{this.state.value}
                  <input type="text" defaultValue={this.state.value || ''} value={this.state.value} 
onBlur={(e) => this.changeTo(e)} onChange={(e) => this.updateValue(e}/>
              </div>
          );
      }