rnc-datetime

1.0.3 • Public • Published

RNC DateTime

A datetime-picker for react-native support for android and ios(base on @remobile/rnc-datetime-picker)

Installation

npm install rnc-datetime --save

Installation (iOS)

  • not need install, on ios use js write

Installation (Android)

  • In android/settings.gradle
...
include ':rnc-datetime'
project(':rnc-datetime').projectDir = new File(rootProject.projectDir, '../node_modules/rnc-datetime/android')
  • In android/app/build.gradle
...
dependencies {
    ...
    compile project(':rnc-datetime')
}
  • register module (in MainActivity.java)

On newer versions of 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());
    }
}

On older versions of React Native:

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);
  }
 
  ......
}

Screencasts

  • ios
    image
  • android
    image

Usage

use as follows:

<DateTimePicker ref={(picker)=>{this.picker=picker}}/>
...
this.picker.showDatePicker(...)
this.picker.showTimePicker(...)
this.picker.showDateTimePicker(...)
  • on ios, make sure must on topest view

Example

"use strict";
 
var React = require("react-native");
var { StyleSheet, TouchableOpacity, View, Text } = React;
 
var DateTimePicker = require("rnc-datetime").default;
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
  }
});

Methods

  • showDatePicker(date, callback(date))
  • showTimePicker(date, callback(date))
  • showDateTimePicker(date, callback(date))

Props

  • cancelText (default: Cancel)
  • okText (default: Ok)
version
  • 需要 0.55 以上 react native
note
  • 工程基于 react-native-datetimer 修改

Package Sidebar

Install

npm i rnc-datetime

Weekly Downloads

3

Version

1.0.3

License

none

Unpacked Size

2.15 MB

Total Files

377

Last publish

Collaborators

  • daiyehao