react-native DatePicker日期选择组件的实现代码
- 更新时间:2022-06-17 10:14:32
- 编辑:高和歌
本教程的实现效果如下:
为了实现其淡入/淡出的覆盖效果, 还有取消按钮, 在此用了一个三方的组件, 大家可以先安装一下:
三方组件的地址: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基础小白学习笔记
下面小编就为大家带来一篇Javascript基础学习笔记(菜鸟必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
发布时间:2021-05-26
-
掌握JavaScript中面向对象编程之概论
这篇文章主要介绍了深入理解JavaScript系列(17):面向对象编程之概论详细介绍,本文讲解了概论、范式与思想、基于类特性和基于原型、基于静态类、层次继承等内容,需要的朋友可以参考下
发布时间:2020-03-11
-
实例分析JavaScript设计模式之策略模式
这篇文章主要为大家详细介绍了JavaScript设计模式之策略模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2020-02-22
-
JavaScript命令模式实例讲解
这篇文章主要介绍了JavaScript设计模式之命令模式,结合实例形式分析了javascript命令模式的概念、原理、用法及相关注意事项,需要的朋友可以参考下
发布时间:2020-01-25
-
JavaScript图片处理与合成详解
这篇文章主要介绍了JavaScript图片处理与合成的相关知识点以及相关实例代码分析,有兴趣的朋友学习下。
发布时间:2020-03-09
-
javascript模拟鼠标点击事件的实例代码
这篇文章主要介绍了javascript触发模拟鼠标点击事件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
发布时间:2020-06-15
-
Javascript编程开发细节总结
下面小编就为大家带来一篇Javascript 一些需要注意的细节(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
发布时间:2021-05-07
-
JavaScript的6种继承方式总结
继承是面向对象编程中又一非常重要的概念,JavaScript支持实现继承,不支持接口继承,实现继承主要依靠原型链来实现的
发布时间:2019-12-17