設定方法はありますか?React NativeのTextInputのplaceholder
にはのみしかありませんか?React NativeでTextInputプレースホルダのスタイリングを変更するにはどうすればよいですか?
お待ちくださいhere at the documentationプレースホルダとプレースホルダーのテキストのみを設定できるようです。
設定方法はありますか?React NativeのTextInputのplaceholder
にはのみしかありませんか?React NativeでTextInputプレースホルダのスタイリングを変更するにはどうすればよいですか?
お待ちくださいhere at the documentationプレースホルダとプレースホルダーのテキストのみを設定できるようです。
class TextInput2 extends Component {
constructor(props) {
super(props);
this.state = { placeholder: props.text.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}
/>
}
}
使用法:
<TextInput2
text={this.state.myText}
style={{ fontFamily: "MyFont" }}
placeholderStyle={{ fontFamily: "AnotherFont", borderColor: 'red' }}
/>
この機能を自分で構築することができます。プレースホルダは、入力が空のときに表示されるので、あなたの状態を確認し、それに応じてのfontStyleを変更することができます。これはいるfontFamily =システムで動作するようには思えないいくつかの理由について
<TextInput onChange={txt => this.setState({enteredText: txt})}
fontStyle={this.state.enteredText.length == 0 ? 'italic' : 'normal'}
style={style.input} />
を。したがって、明示的にfontFamilyを指定する必要があります。より一般的な解決のためにダニエルの答えに改善
onChangeは、イベントオブジェクトを渡し、 'event.nativeEvent.text'を使用するテキストを取得します。 –
または、テキストを渡すだけでonChangeTextを使用します – rdixonbhw
コンテンツとのTextInputのプレースホルダプレースホルダのためたfontWeightとのfontSizeを設定することができますので、一般的なスタイルを使用します。別の場合は、プロパティplaceholderTextColor
をTextInput
に設定できますか? –
nope。 –
の解決策を見つけてうれしいです。同じ問題が残っています。 –