目前正在使用带有react-rails gem和geocomplete gem的Rails 4。
一直工作正常(ish),直到我改变前端使用Reactjs。当我输入几个字符时,会显示自动完成列表。我选择了位置,但我的州只显示了几个字符。示例:当我输入" bir"时,"伯明翰"的列表显示。如果我选择"伯明翰,英国",只有" bir"得到存储,为什么?
js.jsx:
esp
如果我输入了几个字符,如何在选中时获取字符串的完整值?
答案 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} />;
}
});