我尝试在使用useRef
提交表单后自动清除TextInput
。
const inputRef = useRef()
这将显示属性列表。但是,以下操作无效:
const clearInput = () => {
inputRef.current.value = ""
}
它显示value
不存在。
我目前使用的是react-native-google-places-autocomplete:
<GooglePlacesAutocomplete
ref={inputRef}
placeholder='Search'
minLength={1}
autoFocus={false}
returnKeyType={'search'}
keyboardAppearance={'light'} /keyboardAppearance https://facebook.github.io/react-native/docs/textinput.html#keyboardappearance
listViewDisplayed={focus}
fetchDetails={true}
textContentType={'fullStreetAddress'}
autoCapitalize={'words'}
selectionColor={'red'}
clearButtonMode={'always'}
// other properties
/>
2条答案
按热度按时间bxfogqkk1#
你的ref
inputRef
并没有引用文本输入,而是引用了GooglePlacesAutocomplete
组件,该组件中的文本输入就是你需要引用的。如果查看the code,可以看到它的ref定义为
"textInput"
(第717行),并且自动完成组件使用this.refs.textInput
选择它(第166行)考虑到这一点,您应该能够通过autocomplete组件访问文本输入引用,如下所示:
inputRef.current.refs.textInput
2w2cym1i2#
您也可以使用
inputRef.current?.clear();