当 TextInput onFocus 和 onBlur.React-Native 时更改样式

aya*_*han 2 textinput react-native

我在 5 页中有 40 个 TextInput,需要更改输入文本颜色 onfocus:'white' 和 onBlur:'gray' 我知道如何使其成为单个输入。但我需要多个输入

<TextInput 
  clearTextOnFocus={true}
  keyboardType="number-pad"
  style={[this.state.isFocused?styles.inputOnFocus:styles.input]}
  onChangeText={v=>handleInput('value',v)}
  value={this.state.value}
  onFocus={()=>this.setState({isFocused:true})}
  onBlur={()=>this.setState({isFocused:false})}

/>
Run Code Online (Sandbox Code Playgroud)

Aus*_*son 6

在组件中设置文本输入及其样式。然后使用组件中的状态来控制您的样式。

const [focus, setFocus] = useState(false);

<TextInput
    style={focus ? styles.inputOnFocus : styles.inputOnBlur}
    onFocus={() => setFocus(true)}
    onBlur={() => setFocus(false)}
/>
Run Code Online (Sandbox Code Playgroud)

款式:

const styles = StyleSheet.create({
    inputOnFocus: { borderColor: '#C0C0C0' },
    inputOnBlur: { borderColor: '#4b6cd5' }
});
Run Code Online (Sandbox Code Playgroud)