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 相关文章推荐
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
Sep 15 Javascript
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
利用进制转换压缩数字函数分享
Jan 02 Javascript
node.js中的fs.closeSync方法使用说明
Dec 17 Javascript
Laravel中常见的错误与解决方法小结
Aug 30 Javascript
webpack+vue.js实现组件化详解
Oct 12 Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
Mar 02 Javascript
微信小程序 navbar实例详解
May 11 Javascript
angular ng-model 无法获取值的处理方法
Oct 02 Javascript
微信小程序列表中item左滑删除功能
Nov 07 Javascript
vue 使用 canvas 实现手写电子签名
Mar 06 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和MySql来与ODBC数据连接
2006/10/09 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
Python实现破解猜数游戏算法示例
2017/09/25 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
Python笔记之观察者模式
2019/11/20 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
会议开场欢迎词
2014/01/15 职场文书
人事专员工作职责
2014/02/22 职场文书
吃空饷专项治理工作实施方案
2014/03/04 职场文书
小学优秀班主任材料
2014/12/17 职场文书
档案接收函格式
2015/01/30 职场文书
《詹天佑》教学反思
2016/02/20 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
MySQL空间数据存储及函数
2021/09/25 MySQL