【发布时间】:2020-10-27 13:25:42
【问题描述】:
我正在尝试在 react.js HTML 选择选项上使用 onClick 函数,它在 Firefox 上完美运行,但在 Chrome 上却不行。我怎样才能让它在 Chrome 中工作?到目前为止,这是我的代码:
import React, { Component } from "react";
import DateRangePicker from "react-daterange-picker";
import "react-daterange-picker/dist/css/react-calendar.css";
import originalMoment from "moment";
export class Filter extends Component {
constructor(props, context) {
super(props, context);
this.state = {
isOpen: false,};
}
onToggle = () => {
this.setState({ isOpen: !this.state.isOpen });
};
render() {
return (
<div className="filter_range">
<select
class="form-control donn"
name="today"
>
<option selected disabled hidden>
Choose{" "}
</option>
<option value="today">Today</option>
<option value="yesturday">Yesterday</option>
<option>Last Week</option>
<option value="month">Last Month</option>
<option>Last Quarter</option>
<option value="year">Last Year</option>
<option value="">Overall</option>
<option value="" onClick={this.onToggle}>
Custom
</option>
</select>
{this.state.isOpen && (
<DateRangePicker
value={this.props.value}
onSelect={this.props.change}
singleDateRange={true}
isOpen={false}
maximumDate={new Date()}
closeCalendar={true}
numberOfCalendars={2}
showLegend={true}
locale={originalMoment().locale()}
/>
)}
</div>
);
}
}
export default Filter;
【问题讨论】:
-
尝试将 onClick 移动到选择元素
-
为什么在单个选项上有
onClick处理程序?目的是什么?为什么不改用 select 的onChange处理程序? -
@DrewReese 可能仅在选择该选项时运行
-
我有因为我想从此选项打开日期范围
-
Selected 与单击的含义并不完全相同,但在这种情况下,如果您单击一个选项,它就会被选中。在选择选项上使用
onClick的理由几乎为零。 选择时,为什么不直接打开日期范围?
标签: javascript reactjs