【问题标题】:How to change color in Input from react native elements如何从反应原生元素更改输入中的颜色
【发布时间】:2020-10-19 14:43:26
【问题描述】:

我有一个来自反应原生元素的输入,看起来像这样

<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 组件上设置颜色的方法。

我错过了什么吗?

【问题讨论】:

  • placeholdercolor 可以使用 placeholderTextColor 更改,输入文本颜色可以从 inputStyle={{color:'color'}} 更改

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


【解决方案1】:

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

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

演示

https://snack.expo.io/Yunjp2ozw

输出:

代码:

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>
  );
}

【讨论】:

  • @45ccccw32 不客气。如果您也支持我的答案,我将不胜感激(通过按我的答案旁边的“^”图标)。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
  • 1970-01-01
相关资源
最近更新 更多