Solución:
Puede establecer el color de su marcador de posición utilizando el placeholderTextColor
apuntalar.
<TextInput placeholderTextColor={'red'} />
Mejorando la respuesta de Daniel para una solución más genérica
class TextInput2 extends Component {
constructor(props) {
super(props);
this.state = { placeholder: props.value.length == 0 }
this.handleChange = this.handleChange.bind(this);
}
handleChange(ev) {
this.setState({ placeholder: ev.nativeEvent.text.length == 0 });
this.props.onChange && this.props.onChange(ev);
}
render() {
const { placeholderStyle, style, onChange, ...rest } = this.props;
return <TextInput
{...rest}
onChange={this.handleChange}
style={this.state.placeholder ? [style, placeholderStyle] : style}
/>
}
}
Uso:
<TextInput2
text={this.state.myText}
style={{ fontFamily: "MyFont" }}
placeholderStyle={{ fontFamily: "AnotherFont", borderColor: 'red' }}
/>
Puede crear esta funcionalidad usted mismo. El marcador de posición se muestra cuando la entrada está vacía, por lo que puede verificar su estado y cambiar el estilo de fuente en consecuencia:
<TextInput
onChangeText={txt => this.setState({enteredText: txt})}
fontStyle={this.state.enteredText.length == 0 ? 'italic' : 'normal'}
style={style.input} />
Por alguna razón, esto no parece funcionar con fontFamily = System. Por lo tanto, debe especificar explícitamente fontFamily.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)