在 Material UI 库中以编程方式打开日期/时间选择器

xto*_*ols 3 reactjs material-ui

我正在做一个使用 React 和 Material Design 的项目。我想使用Material UI,因为我需要花哨的数据和时间选择器,这个库作为组件提供。

由于我必须在应用程序的特定步骤中设置开始时间和结束时间以及日期,因此我想从一个选择器“跳”到下一个以减少用户必须进行的点击,即

  • 单击“开始日期”输入字段
  • 选择器打开,日期被选中
  • 第一个选择器的关闭应该打开下一个选择器(开始时间)
  • 关闭它会打开下一个选择器(结束日期)
  • 关闭它会打开下一个选择器(结束时间)

我知道如何在这些事件上触发函数,但我不知道如何以编程方式打开选择器。

在相应的元素上使用 jQuery(...).click() 或 .focus() 尝试了“肮脏的技巧”,但没有奏效。

slo*_*nzo 6

我解决了这个问题,ref 为每个添加datepicker

handleChangeDPOne(){
  this.refs.datePickerTwo.openDialog()
}

handleChangeDPTwo(){
  // something
}

render(){
  return (
    <div>
      <DatePicker ref='datePickerOne' onChange={this.handleChangeDPOne} />
      <DatePicker ref='datePickerTwo' onChange={this.handleChangeDPTwo} />
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助。