📌  相关文章
📜  onpress react native datepicker stackver flow - Javascript(1)

📅  最后修改于: 2023-12-03 14:44:53.706000             🧑  作者: Mango

React Native中使用DatePicker组件

React Native是一款基于React的应用程序框架,它可以用JavaScript编写原生应用程序。在React Native中,您可以使用DatePicker组件选择日期和时间。

安装

在React Native应用程序中使用DatePicker组件之前,您需要先安装它。您可以使用npm或yarn来安装DatePicker组件。

使用npm:

npm install @react-native-community/datetimepicker --save

使用yarn:

yarn add @react-native-community/datetimepicker
使用

在您的React Native项目中,您可以使用以下代码导入DatePicker组件:

import React, { useState } from 'react';
import { View, Text, Platform, TouchableOpacity } from 'react-native';
import DateTimePicker from '@react-native-community/datetimepicker';

const DatePicker = () => {
  const [date, setDate] = useState(new Date());
  const [show, setShow] = useState(false);

  const onChange = (event, selectedDate) => {
    const currentDate = selectedDate || date;
    setShow(Platform.OS === 'ios');
    setDate(currentDate);
  };

  const showDatepicker = () => {
    setShow(true);
  };

  return (
    <View>
      <TouchableOpacity onPress={showDatepicker}>
        <Text>{`Selected date: ${date.getDate()} ${date.getMonth()} ${date.getFullYear()}`}</Text>
      </TouchableOpacity>
      {show && (
        <DateTimePicker
          testID="dateTimePicker"
          value={date}
          mode="date"
          is24Hour={true}
          display="default"
          onChange={onChange}
        />
      )}
    </View>
  );
};

export default DatePicker;

上述代码中,在组件中首先要定义一个日期状态和一个布尔状态对话框,用来在用户选择日期时打开日期对话框。在此之后,我们使用TouchableOpacity组件在用户按按钮时打开日期对话框。对话框显示在用户按下按钮后定义的布尔状态Show的条件下。

在日期对话框的onChange事件中,我们更新日期状态并在用户在iOS上选择日期或关闭日期选择器时隐藏日期对话框。

最后,在return语句中,我们渲染一个带有TouchableOpacity的文本组件。当用户点击TouchableOpacity时,组件显示一个日期对话框。要渲染日期对话框,我们使用DateTimePicker组件并将其添加到渲染中。

总结

DatePicker组件是React Native中使用的方便组件,用于让用户在应用程序中选择日期。借助React Native的强大功能,您可以轻松地编写可跨移动平台运行的应用程序。