我正在尝试更新TextInput组件的占位符样式,但是在android上,它并未完全更新样式。
它以正确的样式开始,但是一旦文本字段被更新,然后清除,则不会应用某些样式。像fontWeight或fontFamily。但是,fontSize正在更改?!
这是我的小例子:https://snack.expo.io/By2ijBW5X
export default class App extends Component {
constructor(props) {
super(props);
this.state = {textStyle: styles.textPlaceholder };
}
onChangeHandle = (txt) => {
this.setState({ textStyle: txt.length > 0 ? styles.text : styles.textPlaceholder });
}
render() {
return (
<View style={styles.container}>
<Text style={this.state.textStyle}>Text Input</Text>
<TextInput
onChangeText={this.onChangeHandle}
placeholder='Enter Input Here'
style={[{ height: 50, width: 200 }, this.state.textStyle]}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
paddingTop: 100,
backgroundColor: '#ecf0f1',
},
text: {
fontWeight: '900',
fontSize: 20,
},
textPlaceholder: {
fontWeight: '100',
fontSize: 19,
}
});
有人知道为什么会这样吗?或知道解决方法?
注意:iOS正常运行。