react-native - TextInput onFocus 和 onBlur.React-Native 时改变样式

标签 react-native textinput

我在 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})}

/>

最佳答案

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

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

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

样式:

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

关于react-native - TextInput onFocus 和 onBlur.React-Native 时改变样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59047142/

相关文章:

react-native - React Native - 更新 AsyncStorage 项目嵌套键值?

javascript - setState(…) : Can only update a mounted or mounting component. 这通常意味着您在未安装的组件上调用了 setState()。这是一个空操作

javascript - 如何将样式作为默认样式应用到我的组件

android - RN : Incompatable Android library

java - 我有一个 for 循环,在继续之前不等待输入

ios - iOS 的 ScrollView 中缺少 TextInput,但 Android 中没有

javascript - 如何在 React Native 的多子父 View 中将一个子垂直居中

javascript - 在 onFocus 中使用 setState 移除焦点

javascript - 当文本在 TextInput 中时,如何禁用 react-native AutoCorrect?

android - react-native: android提交文本输入时,单词提示没有清除