JavaScript

超轻量级php框架startmvc

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

更新时间:2020-06-04 19:18:01 作者:startmvc
本教程的实现效果如下:为了实现其淡入/淡出的覆盖效果,还有取消按钮,在此用了一个三方

本教程的实现效果如下:

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

三方组件的地址: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 就能看到效果了

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

reactnative日期组件 reactnative 日期选择 react native日期选择