全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

项目介绍

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


相关文章: 建站OpenVZ教程与优化策略:配置指南与性能提升  如何通过IIS搭建网站并配置访问权限?  家庭服务器如何搭建个人网站?  c# 服务器GC和工作站GC的区别和设置  如何在Tomcat中配置并部署网站项目?  如何在搬瓦工VPS快速搭建网站?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  简历在线制作网站免费版,如何创建个人简历?  建站主机空间推荐 高性价比配置与快速部署方案解析  盘锦网站制作公司,盘锦大洼有多少5G网站?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何注册花生壳免费域名并搭建个人网站?  如何通过VPS建站无需域名直接访问?  建站主机系统SEO优化与智能配置核心关键词操作指南  C++用Dijkstra(迪杰斯特拉)算法求最短路径  建站之星安装后如何配置SEO及设计样式?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  如何彻底卸载建站之星软件?  广州美橙建站如何快速搭建多端合一网站?  已有域名能否直接搭建网站?  如何在IIS中新建站点并配置端口与IP地址?  在线教育网站制作平台,山西立德教育官网?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  网站制作企业,网站的banner和导航栏是指什么?  如何在腾讯云服务器快速搭建个人网站?  建站之星logo尺寸如何设置最合适?  建站主机选购指南与交易推荐:核心配置解析  如何做静态网页,sublimetext3.0制作静态网页?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  建站与域名管理如何高效结合?  如何在景安服务器上快速搭建个人网站?  如何确保西部建站助手FTP传输的安全性?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  长沙做网站要多少钱,长沙国安网络怎么样?  ,有什么在线背英语单词效率比较高的网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  临沂网站制作企业,临沂第三中学官方网站?  如何在香港服务器上快速搭建免备案网站?  创业网站制作流程,创业网站可靠吗?  网站制作免费,什么网站能看正片电影?  建站VPS推荐:2025年高性能服务器配置指南  香港服务器选型指南:免备案配置与高效建站方案解析  红河网站制作公司,红河事业单位身份证如何上传?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何高效配置香港服务器实现快速建站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。