react-native DatePicker日期選擇組件的實現(xiàn)代碼
本教程的實現(xiàn)效果如下:
為了實現(xiàn)其淡入/淡出的覆蓋效果, 還有取消按鈕, 在此用了一個三方的組件, 大家可以先安裝一下:
三方組件的地址:https://github.com/eyaleizenberg/react-native-custom-action-sheet (可以看看,也可以直接按我的步驟走)
1. 在terminal的該工程目錄下運行: npm install react-native-custom-action-sheet --save
2. 然后運行: npm start
3. 具體實現(xiàn)代碼如下:
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) { //改變?nèi)掌趕tate alert(date); //彈出提示框: 顯示你選擇日期 this.setState({ chooseDate: date }); }; render() { let datePickerModal = ( //日期選擇器組件 (根據(jù)標記賦值為 選擇器 或 空) this.state.datePickerModalVisible ? <CustomActionSheet modalVisible={this.state.datePickerModalVisible} //顯隱標記 onCancel={()=>this._showDatePicker()}> //點擊取消按鈕 觸發(fā)事件 <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)} //日期被修改時回調(diào)此函數(shù) /> </View> </CustomActionSheet> : null ); return ( <View style={styles.container}> <TouchableHighlight style={{backgroundColor:'cyan', padding:5}} onPress={()=>this._showDatePicker()} //按鈕: 點擊觸發(fā)方法 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 就能看到效果了
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
React路由渲染方式與withRouter高階組件及自定義導航組件應用詳細介紹
這篇文章主要介紹了React路由三種渲染方式、withRouter高階組件、自定義導航組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-09-09基于Node的React圖片上傳組件實現(xiàn)實例代碼
本篇文章主要介紹了基于Node的React圖片上傳組件實現(xiàn)實例代碼,非常具有實用價值,需要的朋友可以參考下2017-05-05ReactQuery系列之數(shù)據(jù)轉(zhuǎn)換示例詳解
這篇文章主要為大家介紹了ReactQuery系列之數(shù)據(jù)轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11使用react+redux實現(xiàn)計數(shù)器功能及遇到問題
使用redux管理數(shù)據(jù),由于Store獨立于組件,使得數(shù)據(jù)管理獨立于組件,解決了組件之間傳遞數(shù)據(jù)困難的問題,非常好用,今天重點給大家介紹使用react+redux實現(xiàn)計數(shù)器功能及遇到問題,感興趣的朋友參考下吧2021-06-06React Draggable插件如何實現(xiàn)拖拽功能
這篇文章主要介紹了React Draggable插件如何實現(xiàn)拖拽功能問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07