为其赋值,而不仅仅是缺省的(初始)值
我有一个正在工作的<TextInput>
:
<TextInput
placeholder="Location"
value={props.locationInput.toString()}
onChangeText={location => props.updateLocationInput(location)}
/>
props.locationInput
最初是''
,但一旦应用程序启动,就会触发几个异步函数,并获取用户的当前位置,这些位置填充到pros.LocationInput(在redux商店中)。这意味着当用户到达时,上面的<TextInput>
会显示用户的当前位置。我想基本上只做与上面完全一样的操作,但使用react-native-google-places-autocomplete
react-native-google-places-autocomplete
使用pros.LocationInput值进行初始化。它有一个getDefaultValue
属性,例如getDefaultValue={() => props.locationInput.toString()}
,但是它不会在pros.LocationInput更改时更改,所以它永远不会显示用户的当前位置,因为它在初始化时没有设置。如何在props.locationInput
发生更改时更新react-native-google-places-autocomplete
?
可能认为我可能需要在用户当前位置进入之前不呈现它,但这真的很混乱。
编辑:还在研究不使用插件,而是调用Google Places API。
解决方案
游戏较晚,但有名为setAddressText的函数。
示例:
setLocation(text) {
this.placesRef && this.placesRef.setAddressText(text)
}
...
<GooglePlacesAutocomplete
ref={ref => {this.placesRef = ref}}
...
/>
相关文章