react-native DatePicker日期选择组件的实现代码


Posted in Javascript onSeptember 12, 2017

本教程的实现效果如下:

react-native DatePicker日期选择组件的实现代码

为了实现其淡入/淡出的覆盖效果, 还有取消按钮, 在此用了一个三方的组件, 大家可以先安装一下:

三方组件的地址:https://github.com/eyaleizenberg/react-native-custom-action-sheet (可以看看,也可以直接按我的步骤走)

1. 在terminal的该工程目录下运行: npm install react-native-custom-action-sheet --save
2. 然后运行: npm start
3. 具体实现代码如下:

import React, { Component } from 'react'; 
import { 
 AppRegistry, 
 StyleSheet, 
 Text, 
 View, 
 TouchableHighlight, 
 DatePickerIOS 
} from 'react-native'; 
 
//这是一个三方组件 github地址:https://github.com/eyaleizenberg/react-native-custom-action-sheet 
var CustomActionSheet = require('react-native-custom-action-sheet'); 
 
class Demo extends Component { 
 
 state = { 
  datePickerModalVisible: false, //选择器显隐标记 
  chooseDate: new Date() //选择的日期 
 }; 
 
 _showDatePicker () { //切换显隐标记 
  this.setState({datePickerModalVisible: !this.state.datePickerModalVisible}); 
 }; 
 
 _onDateChange (date) { //改变日期state 
  alert(date); //弹出提示框: 显示你选择日期 
  this.setState({ 
   chooseDate: date 
  }); 
 }; 
 
 render() { 
 
  let datePickerModal = (  //日期选择器组件 (根据标记赋值为 选择器 或 空) 
   this.state.datePickerModalVisible ? 
   <CustomActionSheet 
    modalVisible={this.state.datePickerModalVisible} //显隐标记 
    onCancel={()=>this._showDatePicker()}> //点击取消按钮 触发事件 
     <View style={styles.datePickerContainer}> 
      <DatePickerIOS 
       mode={"datetime"}  //选择器模式: 'date'(日期), 'time'(时间), 'datetime'(日期和时间) 
       minimumDate={new Date()} //最小时间 (这里设置的是当前的时间) 
       minuteInterval={30} //最小时间间隔 (这里设置的是30分钟) 
       date={this.state.chooseDate} //默认的时间 
       onDateChange={this._onDateChange.bind(this)} //日期被修改时回调此函数 
      /> 
      </View> 
    </CustomActionSheet> : null 
  ); 
 
  return ( 
   <View style={styles.container}> 
    <TouchableHighlight 
     style={{backgroundColor:'cyan', padding:5}} 
     onPress={()=>this._showDatePicker()} //按钮: 点击触发方法 
     underlayColor='gray' 
     > 
     <Text >show DatePick</Text> 
    </TouchableHighlight> 
    {datePickerModal} //日期选择组件 
   </View> 
  ); 
 } 
} 
 
const styles = StyleSheet.create({ 
 container: { 
  flex: 1, 
  justifyContent: 'center', 
  alignItems: 'center', 
  backgroundColor: '#F5FCFF', 
 }, 
 datePickerContainer: { 
  flex: 1, 
  borderRadius: 5, 
  justifyContent: 'center', 
  alignItems: 'center', 
  backgroundColor: 'white', 
  marginBottom: 10, 
 }, 
}); 
 
AppRegistry.registerComponent('Demo', () => Demo);

写好了,在terminal中运行:react-native run-ios 就能看到效果了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决AJAX中跨域访问出现'没有权限'的错误
Aug 20 Javascript
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
javascript 进阶篇2 CSS XML学习
Mar 14 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
JS实现slide文字框缩放伸展效果代码
Nov 05 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
深入理解Node.js 事件循环和回调函数
Nov 02 Javascript
Bootstrap 模态框实例插件案例分析
Dec 28 Javascript
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 Javascript
JavaScript中递归实现的方法及其区别
Sep 12 #Javascript
详解react-native-fs插件的使用以及遇到的坑
Sep 12 #Javascript
React中jquery引用的实现方法
Sep 12 #jQuery
JS+canvas动态绘制饼图的方法示例
Sep 12 #Javascript
详解react-router4 异步加载路由两种方法
Sep 12 #Javascript
JS+canvas绘制的动态机械表动画效果
Sep 12 #Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
Sep 12 #Javascript
You might like
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
代码生成器 document.write()
2007/04/15 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
layui的table单击行勾选checkbox功能方法
2018/08/14 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
Python模块学习 datetime介绍
2012/08/27 Python
Python读写ini文件的方法
2015/05/28 Python
python字符类型的一些方法小结
2016/05/16 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
python使用mysql的两种使用方式
2018/03/07 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
py-charm延长试用期限实例
2019/12/22 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
HTML5本地存储和本地数据库实例详解
2017/09/05 HTML / CSS
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
护士个人简历自荐信
2013/10/18 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python