首页
/ 【亲测免费】 React Native DateTimePicker 使用教程

【亲测免费】 React Native DateTimePicker 使用教程

2026-01-17 09:22:37作者:凤尚柏Louis

项目介绍

React Native DateTimePicker 是一个用于 React Native 应用的日期和时间选择器组件。它提供了一个简单且可自定义的界面,允许用户在移动应用中选择日期和时间。该组件支持 iOS 和 Android 平台,并且易于集成到现有的 React Native 项目中。

项目快速启动

安装

首先,你需要在你的 React Native 项目中安装 @react-native-community/datetimepicker 包。你可以使用 npm 或 yarn 进行安装:

npm install @react-native-community/datetimepicker

或者

yarn add @react-native-community/datetimepicker

集成

在你的 React Native 组件中引入并使用 DateTimePicker:

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

const App = () => {
  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 showPicker = () => {
    setShow(true);
  };

  return (
    <View>
      <Button onPress={showPicker} title="Show date picker" />
      {show && (
        <DateTimePicker
          value={date}
          mode="date"
          display="default"
          onChange={onChange}
        />
      )}
      <Text>Selected Date: {date.toLocaleString()}</Text>
    </View>
  );
};

export default App;

应用案例和最佳实践

自定义样式

虽然 DateTimePicker 本身提供了基本的样式,但你可以通过自定义样式来适应你的应用设计。例如,你可以通过设置 themeVariant 属性来改变选择器的主题:

<DateTimePicker
  value={date}
  mode="date"
  display="spinner"
  themeVariant="light"
  onChange={onChange}
/>

处理日期格式

你可以使用 moment.js 或其他日期处理库来格式化选择的日期:

import moment from 'moment';

const formattedDate = moment(date).format('YYYY-MM-DD');

典型生态项目

React Native Calendars

React Native Calendars 是一个强大的日历组件库,可以与 DateTimePicker 结合使用,提供更丰富的日历功能和视图。

React Native Modal

React Native Modal 组件可以用来创建一个模态框,将 DateTimePicker 放置在其中,以提供更好的用户体验。

通过这些模块的介绍和示例,你应该能够快速上手并有效地使用 React Native DateTimePicker 组件。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
32
16
pytorchpytorch
Ascend Extension for PyTorch
Python
746
926
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.02 K
266
docsdocs
暂无描述
Dockerfile
771
5.02 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
865
1.96 K
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
70
22
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
1.94 K
201
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
693
1.36 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
461
455
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
458
5.24 K