在Safari上使用React的Datepicker

Luc*_*llo 7 javascript input datepicker reactjs semantic-ui

我的应用程序使用Semantic UI React库中的Form.Input 插入日期.它在Chrome和Firefox上都显示了日期选择器,但在Safari上没有.我曾尝试使用react-datepicker库,但它具有不同的样式,很难将其输入与Semantic UI React的Forms中的其他输入对齐.我能做什么?

这是在Safari上不起作用的Form.Input类型的示例.

<Form.Input
    label='From'
    type='date'
    min={this.state.filters.data_inizio}
    value={moment(this.state.filters.data_fine).format('YYYY-MM-DD')}
    onChange={
        (e) => this.setState({
            ...this.state,
            filters: {
                ...this.state.filters,
                data_fine: moment(e.target.value).format('YYYY-MM-DD')
            }
        }, this.filter)
    } />
Run Code Online (Sandbox Code Playgroud)

Ty *_*oll 9

坏消息.

Semantic UI React不支持输入日期类型.

您在Chrome和Firefox中看到的是输入的默认浏览器版本,类型="日期".

Safari中不支持输入type ="date".

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#Browser_compatibility

我尝试了Semantic UI React并且简单并排

  <Container>
    <Form>
      <Form.Input
      label='From'
      type='date' 
      min={data_inizio}
      value={moment(data_fine).format('YYYY-MM-DD')}
      onChange={
          (e) => this.setState({
            filters: {
                ...filters,
                data_fine: moment(e.target.value).format('YYYY-MM-DD')
            }
      }, this.filter)
    } />
    </Form>
    <span><strong>Plain version</strong></span><br/>
    <input type="date" />
  </Container>
Run Code Online (Sandbox Code Playgroud)

完整示例:https://codepen.io/anon/pen/GBdoQW

第一个选择器与下面的普通选择器相同.第一个只获得一些语义CSS.

尝试使用Safari.它们只是常规的文本输入.:(


Ash*_*des 7

你可以试试这个由airbnb制作的名为'react-dates'的酷日期选择器......

Github:airbnb/react-dates (用于文档)

官方现场演示:点击这里

代码沙箱演示(由我来帮助您入门):https://codesandbox.io/s/l5oo5r4pxl