将LinkedStateMixin与地理完整性进行反应

时间:2015-11-25 07:47:36

标签: jquery ruby-on-rails reactjs react-rails geocomplete

目前正在使用带有react-rails gemgeocomplete gem的Rails 4。

一直工作正常(ish),直到我改变前端使用Reactjs。当我输入几个字符时,会显示自动完成列表。我选择了位置,但我的州只显示了几个字符。示例:当我输入" bir"时,"伯明翰"的列表显示。如果我选择"伯明翰,英国",只有" bir"得到存储,为什么?

js.jsx:

esp

如果我输入了几个字符,如何在选中时获取字符串的完整值?

1 个答案:

答案 0 :(得分:0)

问题是geocomplete对输入有些神奇,它与React如何观察字段的修改效果不佳。我会尝试使用其他解决方案进行自动完成,但如果你需要坚持使用geocomplete,你可以尝试使用jquery + plain onChange方法来检测字段中的变化。像这样:

var NewProject = React.createClass({

  getInitialState: function() {
    return {
      location: this.props.data.location
    }
  },
  
  onGeoChange: function(e) {
    this.setState({
      location:  $("#location").val()
    });
  },

  render: function(){
    $("#location").geocomplete({ details: "form" });
    return <input type="text" id="location" onChange={this.onGeoChange} />;
  }
});