我需要在日历打开时将背景变灰 - 点击,因为我正在尝试编写一个js函数并将其与实际的onclick处理程序一起调用 - 组合它。但它不起作用,我没有控制onclick处理程序,因为我正在使用反应包?如何处理这种情况?请帮忙......
class CustomDatePicker extends Component {
handleOpacity(){
// gray out the background page....
alert('test');
}
click(){
this.handleOpacity();
}
render () {
return (
<span>
<button className="custom-datepicker" onClick={this.props.onClick} >
{this.props.value}
</button>
</span>
)
}
}
CustomDatePicker.propTypes = {
onClick: React.PropTypes.func,
value: React.PropTypes.string
}
export default CustomDatePicker;
答案 0 :(得分:5)
您可以在this.click方法中调用this.props.onClick。 您还应该在构造函数方法中绑定this.click,因为您正在使用ES2015类语法来响应组件。
class CustomDatePicker extends Component {
constructor() {
this.click = this.click.bind(this)
}
handleOpacity(){
// gray out the background page....
alert('test');
}
click(){
this.handleOpacity();
this.props.onClick();
}
render () {
return (
<span>
<button className="custom-datepicker" onClick={this.click} >
{this.props.value}
</button>
</span>
)
}
}
CustomDatePicker.propTypes = {
onClick: React.PropTypes.func,
value: React.PropTypes.string
}
export default CustomDatePicker;