DatePicker.js 1.9 KB
Newer Older
1
import React, { useState } from "react";
Choi Ga Young's avatar
Choi Ga Young committed
2
import { View, Text, StyleSheet, Pressable } from "react-native";
3
import DateTimePickerModal from "react-native-modal-datetime-picker";
4
import { getDateStr } from '../utils/dateFunction';
5
6

const DatePicker = (props) => {
7
8
9
10
11
12
13
14
15
16
17
    const [isDatePickerVisible, setDatePickerVisibility] = useState(false);

    const showDatePicker = () => {
        setDatePickerVisibility(true);
    };

    const hideDatePicker = () => {
        setDatePickerVisibility(false);
    };

    const handleConfirm = (date) => {
18
        props.setDate(getDateStr(date))
19
20
21
        hideDatePicker();
    };

22
    return (
23
24
25
26
27
28
29
30
31
32
33
        <View style={style.container}>
            <View style={style.inputTitleArea}>
                <Text style={style.inputTitle}>{props.inputTitle}</Text>
            </View>
            <Pressable
                style={style.dateAreaStyle}
                onPress={showDatePicker}>
                <Text style={style.dateTextStyle}>{props.date}</Text>
            </Pressable>
            <DateTimePickerModal
                isVisible={isDatePickerVisible}
34
                mode="date"
35
36
37
                onConfirm={handleConfirm}
                onCancel={hideDatePicker}
            />
38
39
40
41
        </View>
    );
};

42
43
const style = StyleSheet.create({
    container: {
YoonDongMin's avatar
YDm    
YoonDongMin committed
44
        height: 54,
45
46
47
48
49
50
51
52
53
54
55
56
57
58
        flexDirection: 'row',
        alignItems: "center",
        marginHorizontal: 10,
        marginVertical: 3,
        borderWidth: 1.5,
        borderStyle: "solid",
        borderColor: "#1467ff",
        borderRadius: 5,
        backgroundColor: "#f5f5f5",
    },
    inputTitleArea: {
        flex: 1,
    },
    inputTitle: {
YoonDongMin's avatar
YDm    
YoonDongMin committed
59
        fontFamily: 'GowunDodum-Regular',
60
61
62
63
64
65
66
67
        alignSelf: "center",
        color: "#1467ff",
        fontSize: 20,
    },
    dateAreaStyle: {
        flex: 3,
    },
    dateTextStyle: {
YoonDongMin's avatar
YDm    
YoonDongMin committed
68
        fontFamily: 'GowunDodum-Regular',
69
70
71
        fontSize: 20,
    },

72
73
74
})

export default DatePicker