如何通过反应本机元素更改输入中的颜色

时间:2020-06-29 12:23:44

标签: react-native input react-native-elements

我有一个来自本机元素的输入,看起来像这样

<Input
    placeholderTextColor={constants.inputPlaceholderFontColor}
    inputContainerStyle={{marginTop: 30, borderBottomColor: constants.dimmedFontColor}}
    placeholder='Spieleranzahl'
    keyboardType='numeric'
    leftIconContainerStyle={{marginRight: 10, marginBottom: 8}}
    leftIcon={
        <Icon
           name='user'
           size={ 24 }
           color= {constants.iconColor}/>
    }
    onChangeText={input => this.setState({numberOfPlayers: input})}

我尝试设置颜色

  • style = {{color:'white'}}
  • inputStyle = {{{color:'white'}}}
  • inputContainerStyle = {{color:'white'}}

文档说:“此组件继承了标准React Native TextInput元素附带的所有本机TextInput道具,以及以下内容...”,所以我不明白为什么style属性不起作用,因为它与标准的TextInput组件。

此外,文档还谈到了inputStyle:“将传递给React Native TextInput的样式道具的样式”,因此这也应该起作用,因为这是在标准Text组件上设置颜色的方法。

我想念什么吗?

1 个答案:

答案 0 :(得分:1)

我已经在Snake.expo上创建了一个示例,并且inputStyle在iOS和Android上均可完美运行。很有可能还有另一个问题,这就是为什么我建议重新实现我的简单示例,看看它是否有效。

更新:也许只显示您的占位符文本。我看不到代码中将value传递给输入的地方。

演示

https://snack.expo.io/Yunjp2ozw

输出:

output

代码:

export default function App() {
  const [text, setText] = React.useState('Test');
  return (
    <View style={styles.container}>
      <Input 
      value={text}
      onChangeText={(text) => setText(text)}
      inputStyle={{'color': 'red'}}
      />
    </View>
  );
}