如何在reactjs中手动触发dom上的click事件

时间:2016-12-15 00:17:09

标签: javascript reactjs

我想手动触发输入元素上的onclick事件。我做了一些搜索并编写了如下代码。

<input type="date" ref={datePicker => this.datePicker = datePicker}/>
            <button
                    onClick={(e) => {
                      this.datePicker.click()
                    }}>
             Select the data
            </button>

然后我也试过下面的代码:

<input type="date" ref='datePicker'/>
                <button
                        onClick={(e) => {
                          this.refs.datePicker.click()
                        }}>
                 Select the data
                </button>

以上代码均无效。当我点击按钮时,没有任何反应。我希望打开数据选择器ui。

2 个答案:

答案 0 :(得分:1)

我尝试了两个示例,确实调用了<input>元素的.click()方法。它没有按预期工作的原因是它只是将键盘焦点放在元素中,它不会单击日期选择器。以编程方式打开日期选择器是currently not possible,至少不是在所有浏览器中。

答案 1 :(得分:0)

尝试不将其称为函数:

onClick={(e) => {this.datePicker.click}}>