Material-ui: [DatePicker] 端口组件

创建于 2016-07-22  ·  51评论  ·  资料来源: mui-org/material-ui

  • [ ] 成分
  • [ ] 测试(至少是单元测试)
  • [ ] 文档
  • [ ] 演示
  • [ ] 键盘可访问性 #3933
  • [ ] 可组合,因此用户可以构建诸如 #7574 之类的东西
  • [ ] 修复旧问题 #7866、#7783、#7781、#7767、#6970、#6944、#6918、#6916、#6886、#6718、#6594、#6439、#6358、#6312、#6134、 #5897、#5800、#5743、#5726、#5696、#5664、#5633、#5400、#5329、#5198、#5197、#5188、#5037、#4900、#4765、#45807、#4 、#4401、#4219、#3794、#3710、#2930、#2203、#2023、#1566、#1261、#1207、#4538、#5144、#7399、#5612
DatePicker

最有用的评论

我们今天在我们的生产应用程序中广泛使用 MUI timepicker 和 datepicker,因此很遗憾,如果没有基于 Material Design 的解决方案,将无法迁移到 v1.0.0。 使用原生时间/日期选择器不是一个好的解决方案,我不同意它们对于拥有一个好的和完整的 Material Design React 组件 UI 包不是“关键”的。

所有51条评论

@oliviertassinari我想知道在新版本中实现这个组件的任何计划。我想帮忙。请告诉我。谢谢

开始迁移组件的最佳方法是查看已打开的问题。 这可以更好地理解当前实现的局限性。 我已经从 v1 发布里程碑中删除了 DatePicker 和 TimePicker,以便我们可以更快地实现它。 不过,欢迎您的帮助。

一些想法之一的组件:

  • 这是非常具有挑战性的,好像我们提供了一个糟糕的用户体验,人们会更好地依赖平台的本地选择器
  • 日期操作可能很复杂。 让我们看看我们是否可以利用另一个库。
  • 桌面用户体验很差,我们需要重新考虑。
  • 它缺少构图能力。 我们需要公开较低级别的 API

只是留下我对日期选择器(和时间选择器)重要性的看法,我认为有 3 个主要组件可以定义您是否正在处理一个好的 ui 框架,它们是: Autocomplete , DatatablesDatepickers

我尝试了很多不同的框架,这三个组件是最让我头疼的组件,主要是因为它们糟糕的实现和国际化选项、异步能力和分页,仅举几个问题。

所以,简而言之:我更喜欢这三个组件以完整状态到达,但我也要记住,至少在我看来,会有很多人不会选择 ui 框架缺少其中一些组件。

无论如何,MUI v1 看起来非常有前途,我很期待在它完全发布时尝试一下!

我更喜欢这三个组件以完整状态到达

@GabrielDuarteM我同意, DatePickerTimePicker实现需要与本地实现一样好才能竞争。 否则,毫无意义。 现在,我不会在生产就绪的应用程序上使用 v0.x 选择器。 我宁愿使用平台的选择器。
我们很可能会在没有这些组件的情况下发布 v1.0.0,我认为它们并不重要,这些年来本地选择器已经改进了很多。

关于自动完成,您可以在此处找到示例

我们今天在我们的生产应用程序中广泛使用 MUI timepicker 和 datepicker,因此很遗憾,如果没有基于 Material Design 的解决方案,将无法迁移到 v1.0.0。 使用原生时间/日期选择器不是一个好的解决方案,我不同意它们对于拥有一个好的和完整的 Material Design React 组件 UI 包不是“关键”的。

我同意@skirunmanDatePickerTimePicker在生产应用程序中非常重要,而且大多数浏览器中的本机实现非常有限,例如在 android 的 chrome 中你不能选择月份和年份,我认为当用户想要选择例如生日时,这部分至关重要。

让我补充更多关于我的意见的细节:

这是非常具有挑战性的,好像我们提供了一个糟糕的用户体验,人们会更好地依赖平台的本地选择器

强烈反对。 本机选择器的功能通常有限,当然不适合 Material Design。

日期操作可能很复杂。 让我们看看我们是否可以利用另一个库。

我认为实施基于 Material Design 的时间和日期选择器会让不少当前用户感到茫然。 将另一个库用于当前并且确实应该是 MUI 的核心组件,削弱了 MUI 的整体吸引力。

桌面用户体验很差,我们需要重新考虑。

不知道你为什么这么说,只要它遵循 Material Design Guidelines。

它缺少构图能力。 我们需要公开较低级别的 API

这很好,但不是 v1.0.0 IMO 的要求。

@skirunman我们同意,我们需要那个组件。 这里的关键在于时间优先级。 我们认为先发布 v1,然后再实现 DatePicker/TimePicker 可以获得更多价值。 (人们总是可以使用主版本)。
这也源于核心贡献者的需要。 例如,我可能永远不会处理它,因为它不是我需要的东西。

不用说,如果贡献者有组件的 ✨ 实现,我们肯定会审查它并在我们对它感到满意后合并:)。

我最近才开始研究react-infinite-calendar ,但对于某些人来说,它可能是 v0 日历的一个值得替代的替代品。 通过在月份之间滚动而不是明确的月份步进,它的工作方式有所不同,但它具有一些额外的请求功能,例如范围选择(通过 https://github.com/callemall/material-ui/issues/7574 请求)并且看起来相当可组合(乍一看)

这个问题有没有推进的计划?

@DoWhileGeek我最近的计划是在文档中添加一个新页面:

<input type="datetime-local" name="bdaytime">
<input type="date" name="bday" max="1979-12-31">
<input type="time" name="usr_time">

像这样的例子。

@oliviertassinari我特别在寻找#7781 的解决方案,这对我们的用户体验来说有点破坏性。

@DoWhileGeek你可以自由地为 0.x 分支发布 #7781 的解决方案; 核心团队专注于 1.0 版本。 这就是为什么所有这些问题都已关闭的原因。

+1 我们对原生 v1 选择器非常感兴趣。 请让我们知道您现在是否正在处理
PS 我们对材料 ui v1 感到兴奋

我正在锁定此问题以防止进一步的 +1 类型评论。

此通知已出现在Pickers文档中:

注意
我们目前正在回退到本机输入控件。 如果您有兴趣实施或已经实施了具有出色 UX 的丰富 Material Design Picker,请在 #4787 和 #4796 上告诉我们! 我们可以在文档中添加您的项目的链接或演示。

正如此处Pickers组件演示中回退到本机控件,并促进愿意承担DatepickerTimepicker的 _dedicated_ 任务的外部项目

如果您有兴趣将采摘机作为一个外部项目,很多人都希望看到成功,所以请与我们分享,我们将:

  • 链接到您的项目
  • 在 material-ui 文档中提供演示
  • 将合作者指向您的方向。

鉴于material-ui的受欢迎程度以及对这些采摘器的需求,采摘器项目所有者可能会获得与流行项目相关的所有互联网名气和荣耀。

感兴趣的? 请平@rosskevin@oliviertassinari小胶质

@rosskevin @oliviertassinari我目前正在开发TimePicker并希望在本周末推出第一个工作版本(可能仍然缺少一些动画或横向模式)。 :彩虹:

完成大部分时间选择器后,我将从DatePicker

@leMaik我刚刚注意到这个项目https://github.com/dmtrKovalenko/material-ui-pickers by @dmtrKovalenko

也许你们两个可以讨论加入项目? 我没有深入挖掘差异,但这可能值得考虑。

另请注意,我们最近已过渡到 github 组织mui-org 。 如果你们两个决定加入并主持mui-org下的项目,请告诉我们。

@罗斯凯文
似乎加入项目会复杂得多。 因为我们使用 moment 作为对等依赖项并实现了很多控件来显示日期(例如日期时间选择器),而不是我们@leMaik 的项目是显示时间选择器的轻量级解决方案 :smile:
转到组织怎么样,我不反对,但实际上无法完全理解这意味着什么? 只是在组织下移动存储库?

关于组织:是的 - 它只是将它移到组织之下,也许 material-ui 本身的流行可能会给它更多的曝光(和更多的维护者)。 但这只是一个想法,没有理由需要它,只是我们现在正在为组织下的补充项目敞开大门。

@rosskevin @dmtrKovalenko我不想_merge_这些项目,因为它们采用了一种截然不同的方法(我们用一个组件做一个项目,只做一件事)。 也许我们可以将 material-ui-picker 仅转换为 Date 选择器(并建立在这个伟大的基础上,添加动画和所有内容)并保持我们的时间选择器作为时间选择器并在组织下移动? :思维:

@leMaik
关于重做日期 - 我认为不,因为对于某些项目来说,使用通用方法处理日期会很有帮助,材料用户界面选择器为此提供了所有组件。 日期时间选择器也是如此,这在材料设计规范中没有列出。 😉

找到了一个很好的灵活的日期选择器库:
https://github.com/gpbl/react-day-picker

设法使用 material-ui 文本输入创建了一个范围的日期选择器:

datepicker

@saraivinha85甜! 🍬

你愿意分享你的实现以供他人学习吗? (即使只是一个要点也会很棒!)

@mbrookes没问题:
https://codesandbox.io/s/9l7kry52or

这个时间选择器的项目很好https://github.com/TeamWertarbyte/material-ui-time-picker

你好。 由于组件非常重要并且我们已经在使用下一个版本,因此不得不问是否对此进行了估算,或者有什么方法可以提供帮助?

检查了其他 DatePickers,与任何 DatePickers 一起工作都不够好,所以捆绑一个应该是最好的解决方案(尤其是与我们也使用的redux-formredux-form-material-ui@next使用)。

目前,似乎最好的解决方案是使用https://github.com/dmtrKovalenko/material-ui-pickers。 我正在将它与 formik 一起使用。

谢谢,会试试的。 日期选择器作为模态是 Material Design 的要求吗?

与 Google Flights 测试版网站上使用的受材料影响的日期选择器和日期范围选择器类似的东西的实现会很整洁。

https://www.google.com/flights/beta

我怎么能只使用monthPicker或yearPicker,请你给个指导?

@taoxueweilong在这里写一个问题。 这里不是提供建议的更好地方:)

各位开发者好...
我在这里使用 Material UI 实现了 datepicker
https://github.com/chingyawhao/material-ui-next-datepicker

我想如果有人可以指导我如何开始,我可能可以为 Material UI 做出贡献

惊人的!

2018 年 5 月 2 日星期三上午 11:13,Ching Yaw Hao通知@ github.com
写道:

各位开发者好...
我在这里使用 Material UI 实现了 datepicker
https://github.com/chingyawhao/material-ui-next-datepicker

如果有人可以,我想我可以为 Material UI 做出贡献
指导我如何开始


您收到此消息是因为您订阅了此线程。
直接回复本邮件,在GitHub上查看
https://github.com/mui-org/material-ui/issues/4787#issuecomment-385914554
或静音线程
https://github.com/notifications/unsubscribe-auth/AacMkVQOH0GRO7JsIyggzHidwmypEPdHks5tuXjQgaJpZM4JSThr
.

@chingyawhao贡献指南大部分是完整的,但新组件现在进入packages/material-ui-lab 。 我将推迟@oliviertassinari关于这是否是合适的候选人。

@mbrookes我会在周末尝试向 material-ui-lab 发出请求请求

@chingyawhao感谢您分享该项目。 我相信目前最好的步骤是将它与文档中的替代方案一起
图书馆的其他区域已经有很多工作要做。 我确实认为日期选择器是一个复杂的组件。 例如,看看bootstrap- datepicker 的所有 isuses。 从战略的角度来看,我认为我们将此组件推迟到社区的时间越长越好。 根据下载统计数据,我们可以估计大约 13%的人需要日期选择器、时间选择器或介于两者之间的东西。 专注于 87% 的其他人可能会更好。

@oliviertassinari明白了...
当你准备开始开发时,你能通知我吗,也许我可以帮忙?

@chingyawhao你不和@dmtrKovalenkohttps://github.com/dmtrKovalenko/material-ui-pickers 合作,我相信有很多改进的空间

@stunaz我认为他们对外观和感觉有不同的看法,但是,显然https://github.com/dmtrKovalenko/material-ui-pickers更适合当前 material-ui-next 的整体设计以及 UX 点.

@up-to-you 我的最终目标是遵循材料设计对桌面文本字段中选择器的描述。 这些选择器位于弹出窗口而不是对话框中。

我正在处理的项目需要一个更自定义的 datepicker 组件,它不限制用户从选择器中选择日期,用户还可以在掩码文本输入中输入日期。

我的项目将允许该级别的自定义,您可以仅导入日历组件,这是没有输入或包含对话框或弹出窗口的选择器。

import {Calendar, Clock} from 'material-ui-next-pickers'

顺便说一句,我也发布了时间选择器 XD

Material Design

@chingyawhao是否可以通过 IconButton(ala 通过装饰)触发弹出窗口。 我有自己的屏蔽输入,但希望能够在按下按钮时弹出日期选择器。

@techniq 是的,当然......这听起来与我在我的项目中所做的相似
如果您需要任何示例,请在我的 repo 中创建一个问题

为什么这是关闭的? 看起来(这里 - https://material-ui.com/demos/pickers/)这还没有解决。

仅供参考,我目前的问题是 datetime-local 没有好的解决方案,因为 Firefox 本身不支持它。 切换到 material 1.0 后,我们发现 firefox 用户无法使用我们的日期时间字段。

看起来上面的大部分讨论都是关于日期或时间的良好实现,但这些都没有解决日期时间工作的问题。

@rogerstorm用 120 美元资助了这个问题。 在 IssueHunt 上查看

你好!

我们可以获得有关 DataPicker 进度状态的更新吗?

在这些长线程中评估这一点变得越来越困难。

似乎@dmtrKovalenko一直在稳步致力于Material-UI-Pickers一段时间。

再具体一点:

  1. 最初的问题列出了复选框项目,但没有一个被选中。 那是准确的吗?

    image
    似乎@dmtrKovalenko有测试、文档、演示等。也许他没有完成所有的工作,但是现在可以检查 _nothing_ 是否准确?

  2. 我很想听听@dmtrKovalenko关于这个问题的意见。 您是否与 Material UI 团队讨论过将您的 material-ui-picker 纳入其中?

@jasonkylefrank没有打勾,因为官方存储库中没有做任何事情,而且公平地说,不太可能很快。 (我们仅在本周讨论了根据 3rd 方解决方案关闭所有日期选择器/时间选择器问题。)

@dmtrKovalenko做得非常出色,即使它们不是“官方”组件,也没有理由不使用他的组件。

我们不计划对 DatePicker 和 TimePicker 组件进行任何工作。
我认为我们应该将其交给社区。 @dmtrKovalenko一直在杀死它!
我们需要更新文档以反映此位置,以便我们可以关闭该问题。

@rogerstorm如果问题由 material-ui-

我知道你半开玩笑,但是:cc @rogerstorm

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

chris-hinds picture chris-hinds  ·  3评论

ghost picture ghost  ·  3评论

iamzhouyi picture iamzhouyi  ·  3评论

FranBran picture FranBran  ·  3评论

revskill10 picture revskill10  ·  3评论