详解React Native开源时间日期选择器组件(react-native-datetime)
2017-09-13 14:51
971 查看
项目介绍
该组件进行封装一个时间日期选择器,同时适配Android、iOS双平台,该组件基于@remobile/react-native-datetime-picker进行开发而来
配置安装
npm install react-native-datetime --save
1.1.iOS环境配置
上面步骤完成之后,直接前台写js代码即可
1.2.Android环境配置
在android/setting.gradle文件中如下配置
... include ':react-native-datetime' project(':react-native-datetime').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-datetime/android')
在android/app/build.gradle文件中如下配置
... dependencies { ... compile project(':react-native-datetime') }
在MainActivity.java中进行注册模块
①.React Native>=0.18开始
import com.keyee.datetime.*; // <--- import public class MainActivity extends ReactActivity { ...... /** * A list of packages used by the app. If the app uses additional views * or modules besides the default ones, add more packages here. */ @Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new RCTDateTimePickerPackage(this), // <------ add here new MainReactPackage()); } }
①.React Native<=0.17版本
import com.keyee.datetime.*; // <--- import public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler { ...... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mReactRootView = new ReactRootView(this); mReactInstanceManager = ReactInstanceManager.builder() .setApplication(getApplication()) .setBundleAssetName("index.android.bundle") .setJSMainModuleName("index.android") .addPackage(new MainReactPackage()) .addPackage(new RCTDateTimePickerPackage(this)) // <------ add here .setUseDeveloperSupport(BuildConfig.DEBUG) .setInitialLifecycleState(LifecycleState.RESUMED) .build(); mReactRootView.startReactApplication(mReactInstanceManager, "ExampleRN", null); setContentView(mReactRootView); } ...... }
运行截图
ios运行效果
android运行效果
使用方法
<DateTimePicker ref={(picker)=>{this.picker=picker}}/> ... this.picker.showDatePicker(...) this.picker.showTimePicker(...) this.picker.showDateTimePicker(...)
在ios平台上面使用,需要确保当前DataTimePicker视图在顶部
使用实例
'use strict'; var React = require('react-native'); var { StyleSheet, TouchableOpacity, View, Text, } = React; var DateTimePicker = require('react-native-datetime'); var Button = require('@remobile/react-native-simple-button'); module.exports = React.createClass({ getInitialState() { return { date: new Date(), } }, showDatePicker() { var date = this.state.date; this.picker.showDatePicker(date, (d)=>{ this.setState({date:d}); }); }, showTimePicker() { var date = this.state.date; this.picker.showTimePicker(date, (d)=>{ this.setState({date:d}); }); }, showDateTimePicker() { var date = this.state.date; this.picker.showDateTimePicker(date, (d)=>{ this.setState({date:d}); }); }, render() { return ( <View style={styles.container}> <Text style={{textAlign: 'center'}}> {this.state.date.toString()} </Text> <View style={{height:40}} /> <Button onPress={this.showDatePicker}>showDatePicker</Button> <View style={{height:40}} /> <Button onPress={this.showTimePicker}>showTimePicker</Button> <View style={{height:40}} /> <Button onPress={this.showDateTimePicker}>showDateTimePicker</Button> <DateTimePicker ref={(picker)=>{this.picker=picker}}/> </View> ); }, }); var styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', paddingTop:20, }, });
方法介绍
- showDatePicker(date, callback(date))
- showTimePicker(date, callback(date))
- showDateTimePicker(date, callback(date))
属性介绍
- cancelText (default: Cancel)
- okText (default: Ok)
开源项目地址:https://github.com/cnjon/react-native-datetime
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- ReactNative Image组件使用详解
- React-Native 组件之 Modal的使用详解
- react-native-tab-navigator组件的基本使用示例代码
- React Native自定义标题栏组件的实现方法
- React-Native中一些常用组件的用法详解(一)
- react-native中ListView组件点击跳转的方法示例
- React-Native TextInput组件详解及实例代码
- 详解React native全局变量的使用(跨组件的通信)
- React Native中导航组件react-navigation跨tab路由处理详解
- React Native自定义组件与输出方法详解
相关文章推荐
- React Native开源时间日期选择器组件
- React Native日期时间选择组件的示例代码
- react-native DatePicker日期选择组件的实现代码
- Extjs 5 可选择日期+时间的组件DateTimeField
- react-native DatePicker日期选择组件的实现
- react-native DatePicker日期选择组件的实现
- ReactNative Image组件使用详解
- React Native 的图片点击放大效果的组件使用 react-native-zoom-image
- Android开发之日期时间选择组件事…
- 【React Native开发】React Native控件之Touchable*系列组件详解(18)
- GitHub 整理|那些优秀的开源时间日期选择器
- React Native 热更新的组件react-native-pushy
- React Native控件之ScrollView组件详解
- React Native 二 常用组件与开源组件
- 使用DateTime的ParseExact方法实现特殊日期时间的方法详解(转)
- [原]东方耀react-native 46-开源组件react-native-camera
- React Native开源特效动画封装库模块(lottie-react-native)
- React Native开源秒杀倒计时模块(react-native-CountDowntimer)
- jquery.datetimepicker.js时间插件去除默认值的属性(点击以后不选择日期)
- 各种杂项组件(3)之--CalendarView(日历视图)、DatePicker/TimePicker(日期、时间选择器)、NumberPicker(数值选择器)