跳转至正文

日期选择器 Capacitor 插件

适用于 iOS、Android 和 Web 的原生日期、时间、日期时间、年月和范围选择器

安装

bun add @capgo/capacitor-date-picker bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-date-picker
  • pnpm add @capgo/capacitor-date-picker
  • yarn add @capgo/capacitor-date-picker

指南

如何在 Capacitor 中使用 Date Picker

在设备上测试

下载 Capgo App,然后扫描二维码 code。

Date Picker 插件预览二维码 code

使用 @capgo/capacitor-date-picker

@capgo/capacitor-date-picker 为 iOS 和 Android 上的 Capacitor 应用添加原生日期、时间、日期时间、年月及范围选择器,并提供配套的 Web 回退方案。

这是 Capgo 维护的替代方案,旨在取代 @capacitor-community/date-picker。我们积极响应社区反馈,快速修复问题并发布更新,而不是让 GitHub 的遗留问题长期悬而未决。

安装

npm install @capgo/capacitor-date-picker
npx cap sync

原生选择器 Demo

iOS Android
@capgo/capacitor-date-picker 打开、选择日期并关闭的 iOS 动画演示 @capgo/capacitor-date-picker 打开、选择日期并关闭的 Android 动画演示

原生选择器截图

iOS Android
@capgo/capacitor-date-picker 在 iOS 上的原生日期选择器截图 @capgo/capacitor-date-picker 在 Android 上的原生日期选择器截图

选择日期

import { DatePicker } from '@capgo/capacitor-date-picker';

const result = await DatePicker.present({
  mode: 'date',
  date: '2026-05-27',
  min: '2026-01-01',
  max: '2026-12-31',
  format: 'yyyy-MM-dd',
  title: 'Select date',
});

console.log(result.value);

选择时间

const result = await DatePicker.present({
  mode: 'time',
  is24h: true,
  minuteStep: 15,
  format: 'HH:mm',
  title: 'Select time',
});

选择范围

const range = await DatePicker.presentRange({
  start: '2026-05-01',
  end: '2026-05-27',
  format: 'yyyy-MM-dd',
  startTitle: 'Start date',
  endTitle: 'End date',
});

console.log(range.start, range.end);

关闭当前选择器

await DatePicker.hide();

修复内容

  • 支持 Capacitor 8。
  • Web 实现使用相同的 present() API。
  • 编程式 hide().
  • 支持对话框标题。
  • iOS 旋转安全布局、locale 处理以及 yearAndMonth 模式。
  • 更安全的日期解析和仅日期时区处理。
  • Android 嵌套选项, is24h,对话框布局处理以及 UI 线程对话框处理。
  • 分钟步长和日期范围选择。

完整参考

常见问题

Date Picker 插件常见问题

如何在 Capacitor 应用中安装 Date Picker 插件?

运行 "bun add @capgo/capacitor-date-picker"(或 "npm install @capgo/capacitor-date-picker"),然后运行 "bunx cap sync",让 iOS 和 Android 项目识别到原生 code。然后在应用的 code 中从 "@capgo/capacitor-date-picker" 导入。

@capgo/capacitor-date-picker 是否支持 React、Vue 和 Angular?

支持。Date Picker 是一个 Capacitor 包,因此它适用于任何运行在 Capacitor 中的 Web 框架,包括 Ionic、React、Vue、Angular、Svelte 以及纯 JavaScript。

@capgo/capacitor-date-picker 支持哪个 Capacitor 版本?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-date-picker 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-date-picker/,您也可以直接从 npm 免费安装。欢迎提交 Bug 报告和 Pull Request。

我可以在不经过 App Store 审核的情况下,更新使用了 Date Picker 的 code 应用吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App 审核,即可发布 Date Picker 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo