如何在React Native Paper中更改TextInput的文本颜色而不在PaperProvider中换行?
目前这是可行的:
const theme = {
...DefaultTheme,
colors: {
...DefaultTheme.colors,
text: "orange",
}
};
<PaperProvider theme={theme}>
<TargetComponent />
</PaperProvider>
然而,我想通过从父组件传递的属性来控制文本颜色。奇怪的是,传递backgroundColor
可以工作,但color
不行。
去掉PaperProvider
的 Package 也无济于事。
下面是TargetComponent中的相关代码:
return (
<View style={styles.container}>
<TextInput
type="outlined"
style={this.props.style}
onChangeText={this.props.onChange}
label={this.props.label}
value={this.props.value || "Replace this text"}
placeholder={this.props.placeholder}
/>
</View>
)
this.props.style
为:
{
color: "orange", // This does not work
backgroundColor: "transparent" // This works
},
4条答案
按热度按时间wxclj1h51#
找到了一个解决办法。但对于那些处于同样困境的人:
由于某种原因,
color
不能被识别为style
属性,即使其他属性(如backgroundColor
)被识别为。只需将
theme
作为属性传递给TextInput
。在theme
对象中,按如下方式分配文本颜色:针对功能组件和React Native Paper 5.x * 进行了更新(如果您需要标签颜色控制,也可进行更新)*:
vpfxa7rd2#
bksxznpy3#
只需将该行
theme={{colors: {text: 'Your Color' }}}
添加到React原生纸张的<TextInput/>
中。xsuvu9jc4#
只需在--- theme={{ colors:{文字:'您的颜色' } }}