最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

详解React Native开源时间日期选择器组件(react-native-datetime)

来源:懂视网 责编:小采 时间:2020-11-27 22:30:15
文档

详解React Native开源时间日期选择器组件(react-native-datetime)

详解React Native开源时间日期选择器组件(react-native-datetime):项目介绍 该组件进行封装一个时间日期选择器,同时适配Android、iOS双平台,该组件基于@remobile/react-native-datetime-picker进行开发而来 配置安装 npm install react-native-datetime --save 1.1.iOS环境配置 上面步骤完成之
推荐度:
导读详解React Native开源时间日期选择器组件(react-native-datetime):项目介绍 该组件进行封装一个时间日期选择器,同时适配Android、iOS双平台,该组件基于@remobile/react-native-datetime-picker进行开发而来 配置安装 npm install react-native-datetime --save 1.1.iOS环境配置 上面步骤完成之

项目介绍

该组件进行封装一个时间日期选择器,同时适配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

    文档

    详解React Native开源时间日期选择器组件(react-native-datetime)

    详解React Native开源时间日期选择器组件(react-native-datetime):项目介绍 该组件进行封装一个时间日期选择器,同时适配Android、iOS双平台,该组件基于@remobile/react-native-datetime-picker进行开发而来 配置安装 npm install react-native-datetime --save 1.1.iOS环境配置 上面步骤完成之
    推荐度:
    标签: datetime React native
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top