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 json 实例代码
Dec 02 Javascript
jquery实现submit提交表单
Feb 03 Javascript
jQuery.prop() 使用详解
Jul 19 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
vue制作加载更多功能的正确打开方式
Oct 12 Javascript
js实现可输入可选择的select下拉框
Dec 21 Javascript
js分页之前端代码实现和请求处理
Aug 04 Javascript
AngularJS实现的简单拖拽功能示例
Jan 02 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 Javascript
微信小程序选择图片控件
Jan 19 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
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
可输入的下拉框
2006/06/19 Javascript
js 小贴士一星期合集
2010/04/07 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
分享精心挑选的12款优秀jQuery Ajax分页插件和教程
2012/08/09 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
js时间控件只显示年月
2017/01/08 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
Python实现曲线点抽稀算法的示例
2017/10/12 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
招商业务员岗位职责
2013/12/16 职场文书
千元咖啡店的创业计划书范文
2013/12/29 职场文书
志愿者服务感言
2014/02/27 职场文书
村庄绿化方案
2014/05/07 职场文书
党员承诺书格式
2014/05/21 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
《开国大典》教学反思
2016/02/16 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏
4种方法python批量修改替换列表中元素
2022/04/07 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android