【React Native开发】React Native控件之Switch开关与Picker选择
转载请标明出处: http://www.52php.cn/article/p-syjfkrwp-bgy.html 本文出自:【江清清的博客】 (一)前言今天我们一起来看一下Switch选择开关控件以及Picker选择器控件的介绍完全解析以及最佳实践。 刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! (二)Switch选择开关控件2.1.该为Android/iOS两个平台通用的两种状态的选择开关组件 2.2.Switch属性方法介绍(这边只介绍平台通用属性以及只适合Android平台上面的属性方法)
2.3.Switch使用实例 ①.基础Switch开关控件实例演示,添加点击开关状态切换,实例代码如下: 'use strict'; import React,{ AppRegistry,Component,StyleSheet,Text,View,Switch,} from'react-native'; var SwitchDemo =React.createClass({ getInitialState() { return { trueSwitchIsOn: true,falseSwitchIsOn: false,}; },render() { return ( <View style={styles.container}> <Text> Swtich实例 </Text> <Switch onValueChange={(value) =>this.setState({falseSwitchIsOn: value})} style={{marginBottom:10,marginTop:10}} value={this.state.falseSwitchIsOn}/> <Switch onValueChange={(value) =>this.setState({trueSwitchIsOn: value})} value={this.state.trueSwitchIsOn}/> </View> ); } }); const styles =StyleSheet.create({ container: { flex: 1,justifyContent: 'center',alignItems: 'center',backgroundColor: '#F5FCFF',},}); AppRegistry.registerComponent('SwitchDemo',() => SwitchDemo); 运行效果如下: ②.Switch开关控件设置无法点击状态,该第一个Switch无法响应点击状态,实例代码如下: var SwitchDemo =React.createClass({ getInitialState() { return { trueSwitchIsOn: true,render() { return ( <View style={styles.container}> <Text> Swtich实例 </Text> <Switch disabled={true} onValueChange={(value) =>this.setState({falseSwitchIsOn: value})} style={{marginBottom:10,marginTop:10}} value={this.state.falseSwitchIsOn}/> <Switch disabled={false} onValueChange={(value) =>this.setState({trueSwitchIsOn: value})} value={this.state.trueSwitchIsOn}/> </View> ); } }); 效果运行如下: (三)Picker选择器控件2.1.该Picker渲染iOS和Android平台上面的原生选择器组件,官方实例代码如下: <Picker selectedValue={this.state.language} onValueChange={(lang) =>this.setState({language: lang})}> <Picker.Item label="Java" value="java" /> <Picker.Item label="JavaScript" value="js" /> </Picker> 2.2.Picker属性方法(这边只介绍平台通用属性以及只适合Android平台上面的属性方法)
itemValue:该属性值为被选中的item的属性值 itemPosition:该选择器被选中的item的索引position
'dialog': 该值为默认值,进行弹出一个模态dialog(弹出框) 'dropdown':以picker视图为基础,在该视图下面弹出下拉框
3.3.Picker使用实例 ①.基础选择器控件实例:弹出框,实例代码如下: 'use strict'; import React,Picker,} from'react-native'; var PickerDemo =React.createClass({ getInitialState: function() { return { language: '',render() { return ( <View style={styles.container}> <Text > Picker选择器实例 </Text> <Picker style={{width:200}} selectedValue={this.state.language} onValueChange={(value) =>this.setState({language: value})}> <Picker.Itemlabel="Java" value="java" /> <Picker.Itemlabel="JavaScript" value="javaScript" /> </Picker> <Text>当前选择的是:{this.state.language}</Text> </View> ); } }); const styles =StyleSheet.create({ container: { flex: 1,}); AppRegistry.registerComponent('PickerDemo',() => PickerDemo); 运行效果如下: ②.基础选择器控件实例:设置弹出框标题,实例代码如下: var PickerDemo =React.createClass({ getInitialState: function() { return { language: '',render() { return ( <View style={styles.container}> <Text > Picker选择器实例 </Text> <Picker prompt="请选择编程语言" style={{width:200}} selectedValue={this.state.language} onValueChange={(value) =>this.setState({language: value})}> <Picker.Itemlabel="Java" value="java" /> <Picker.Itemlabel="JavaScript" value="javaScript" /> </Picker> <Text>当前选择的是:{this.state.language}</Text> </View> ); } }); 运行效果如下: ③.基础选择器控件实例:设置下拉选择框,实例代码如下: var PickerDemo =React.createClass({ getInitialState: function() { return { language: '',render() { return ( <View style={styles.container}> <Text > Picker选择器实例 </Text> <Picker mode={'dropdown'} style={{width:200}} selectedValue={this.state.language} onValueChange={(value) =>this.setState({language: value})}> <Picker.Itemlabel="Java" value="java" /> <Picker.Itemlabel="JavaScript" value="javaScript" /> </Picker> <Text>当前选择的是:{this.state.language}</Text> </View> ); } }); 运行效果如下: (四)最后总结今天我们主要学习一下Switch选择开关控件以及Picker选择器控件的介绍完全解析以及最佳实践。大家有问题可以加一下群React Native技术交流群(282693535)或者底下进行回复一下。
尊重原创,转载请注明:From Sky丶清(http://blog.csdn.net/developer_jiangqq) 侵权必究! 关注我的订阅号(codedev123),每天分享移动开发技术(Android/IOS),项目管理以及博客文章!(欢迎关注,第一时间推送精彩文章)
关注我的微博,可以获得更多精彩内容
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |