从零学React Native之11 TextInput
TextInput 组件是用来通过键盘输入文字,可以使用View组件和Text组件样式,没有自己特定的样式。 TextInput属性只列出了一些常用的,详情见官网
下面的例子 class UselessTextInput extends Component {
constructor(props) {
super(props);
this.state = { text: 'Useless Placeholder' };
}
render() {
return (
<TextInput
style={{marginTop:100,height: 40,borderColor: 'gray',borderWidth: 1}}
onChangeText={(text) => this.setState({text})}
value={this.state.text}
/>
);
}
}
// App registration and rendering
AppRegistry.registerComponent('AwesomeProject',() => UselessTextInput);
IOS运行结果: Android运行结果: 两个平台不同表现对比发现 Android端 borderWidth是不生效的,默认有一个输入的线,符合Android设计,Android字体默认很小,我们把上面样式中的height换成fontSize,来看下 <TextInput style={{marginTop:100,fontSize: 40,borderColor: 'gray',borderWidth: 1}} onChangeText={(text) => this.setState({text})} value={this.state.text}/>
可以看到Android端字体变大了,但是IOS端没有了 左面是IOS右面Android render() { return ( <TextInput style={{marginTop:100,fontSize:30,height:43,borderWidth: 1,paddingBottom:5,paddingTop:5}} onChangeText={(text) => this.setState({text})} value={this.state.text} /> ); }
TextInput组件的生命周期和回调方法
注意:当点击点击另一个TextInput组件时会触发失去焦点事件,在单行的输入框中按下提交键,Android端不触发失去焦点事件。 最方便的操作就在onChangeText事件中时刻获取用户输入的内容 更多精彩请关注微信公众账号likeDev (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |