| id | inputaccessoryview |
|---|---|
| title | InputAccessoryView |
A component which enables customization of the keyboard input accessory view on iOS. The input accessory view is displayed above the keyboard whenever a TextInput has focus. This component can be used to create custom toolbars.
To use this component wrap your custom toolbar with the InputAccessoryView component, and set a nativeID. Then, pass that nativeID as the inputAccessoryViewID of whatever TextInput you desire. A basic example:
import React, {useState} from 'react';
import {
Button,
InputAccessoryView,
ScrollView,
TextInput,
StyleSheet,
} from 'react-native';
import {SafeAreaView, SafeAreaProvider} from 'react-native-safe-area-context';
const inputAccessoryViewID = 'uniqueID';
const initialText = '';
const App = () => {
const [text, setText] = useState(initialText);
return (
<SafeAreaProvider>
<SafeAreaView style={styles.container}>
<ScrollView keyboardDismissMode="interactive">
<TextInput
style={styles.textInput}
inputAccessoryViewID={inputAccessoryViewID}
onChangeText={setText}
value={text}
placeholder={'Please type here…'}
/>
</ScrollView>
</SafeAreaView>
<InputAccessoryView nativeID={inputAccessoryViewID}>
<Button onPress={() => setText(initialText)} title="Clear text" />
</InputAccessoryView>
</SafeAreaProvider>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
paddingHorizontal: 20,
},
textInput: {
padding: 16,
borderColor: 'black',
borderWidth: 1,
},
});
export default App;
This component can also be used to create sticky text inputs (text inputs which are anchored to the top of the keyboard). To do this, wrap a TextInput with the InputAccessoryView component, and don't set a nativeID. For an example, look at InputAccessoryViewExample.js.
| Type |
|---|
| color |
An ID which is used to associate this InputAccessoryView to specified TextInput(s).
| Type |
|---|
| string |
| Type |
|---|
| View Style |
- react-native#18997: Doesn't support multiline
TextInput - react-native#20157: Can't use with a bottom tab bar