【问题标题】:Problems tying onChange function to checkbox将 onChange 函数绑定到复选框时出现问题
【发布时间】:2018-04-19 03:35:31
【问题描述】:

我正在尝试将函数绑定到 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>
    );
  }
}

【问题讨论】:

  • 是在渲染时还是在单击项目时抛出错误?

标签: reactjs conditional


【解决方案1】:

问题不在于您的 doClick 方法,而在于您在其中指定的 click 方法。

在这个方法中:

doClick(index) {
 this.props.click(index);
}

你的问题是你没有指定click方法prop。

要么通过 props 传入一个 click 方法(尽管我建议使用 onClick 处理程序),或者在你的组件中处理 click 事件。在此处查看我的示例:

https://codesandbox.io/s/mo7j742kkj

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-14
    • 2014-06-03
    • 2023-01-19
    • 2014-07-08
    • 1970-01-01
    • 2020-12-10
    • 2011-02-09
    • 1970-01-01
    相关资源
    最近更新 更多