rnc-datetime
v1.0.3
Published
方法回调系统日历,前端UI自定义
Downloads
6
Maintainers
Readme
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
- android
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 修改