详解React Native开源时间日期选择器组件(react-native-datetime)
发布时间 - 2026-01-11 03:14:33 点击率:次项目介绍

该组件进行封装一个时间日期选择器,同时适配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日期时间显示组件的封装方法
# react如何用懒加载减少首屏加载时间
# React Native日期时间选择组件的示例代码
# React Native时间转换格式工具类分享
# React 如何使用时间戳计算得到开始和结束时间戳
# 而来
# 开源
# 大家多多
# 选择器
# packages
# additional
# modules
# list
# default
# add
# views
# Override
# import
# Native
# gt
# keyee
# extends
# ReactActivity
# lt
# public
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何配置任务调度?(Cron Job示例)
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel如何创建自定义中间件?(Middleware代码示例)
Laravel怎么实现模型属性的自动加密
php结合redis实现高并发下的抢购、秒杀功能的实例
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
如何在新浪SAE免费搭建个人博客?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
如何在阿里云香港服务器快速搭建网站?
韩国服务器如何优化跨境访问实现高效连接?
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Linux网络带宽限制_tc配置实践解析【教程】
Laravel如何使用.env文件管理环境变量?(最佳实践)
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
SQL查询语句优化的实用方法总结
公司门户网站制作流程,华为官网怎么做?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
利用python获取某年中每个月的第一天和最后一天
详解Android——蓝牙技术 带你实现终端间数据传输
Java解压缩zip - 解压缩多个文件或文件夹实例
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何用5美元大硬盘VPS安全高效搭建个人网站?
微信小程序 canvas开发实例及注意事项
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
Laravel如何与Pusher实现实时通信?(WebSocket示例)
phpredis提高消息队列的实时性方法(推荐)
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
制作企业网站建设方案,怎样建设一个公司网站?
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何快速搭建高效香港服务器网站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
如何快速搭建FTP站点实现文件共享?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
高端云建站费用究竟需要多少预算?
香港服务器租用费用高吗?如何避免常见误区?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?

