我正在尝试将一个函数绑定到一个OnChange复选框事件。我得到的错误消息是我创建的doClick函数不是一个函数。我完全被困在这里了。我的代码...
export class LocalGroupsTabContent extends React.Component {
doClick(index, event) {
this.props.click(index);
}
render() {
let activeClass = this.props.activeId;
let content = this.props.data.map((item, index) => {
return (
<div className={'tabs-textItem ' + (activeClass === index ? 'show' : '')} >
<div className="tabs-third-level-menu">
<div className="container">
{item.links.map((link, index) => {
return (
<label key={ index } className="control control--checkbox">{link}
<input type="checkbox" onChange={this.doClick.bind(this, index)} />
<div className="control__indicator"></div>
</label>
)
})}
</div>
</div>
</div>
)
});
return (
<div className="tabs-content">{content}</div>
);
}
}发布于 2017-11-07 08:19:57
问题不在于您的doClick方法,而在于您在其中指定的click方法。
在此方法中:
doClick(index) {
this.props.click(index);
}你遇到的问题是你没有指定一个点击方法属性。
要么通过props传入click方法(尽管我建议使用onClick处理程序),要么在组件中处理click事件。请看我的示例:
https://stackoverflow.com/questions/47145985
复制相似问题