【问题标题】:Opening date/time picker programatically in Material UI library在 Material UI 库中以编程方式打开日期/时间选择器
【发布时间】:2017-01-29 20:23:30
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: reactjs material-ui


    【解决方案1】:

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

    handleChangeDPOne(){
      this.refs.datePickerTwo.openDialog()
    }
    
    handleChangeDPTwo(){
      // something
    }
    
    render(){
      return (
        <div>
          <DatePicker ref='datePickerOne' onChange={this.handleChangeDPOne} />
          <DatePicker ref='datePickerTwo' onChange={this.handleChangeDPTwo} />
        </div>
      )
    }
    

    希望对你有帮助。

    【讨论】:

    • 非常感谢,如果可行,我会试一试并接受答案!
    • 如果Datepicker在动态生成的物料表行中怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2020-02-09
    • 2023-01-31
    • 2018-08-25
    • 2020-08-22
    • 2018-10-23
    • 1970-01-01
    相关资源
    最近更新 更多