代码之家  ›  专栏  ›  技术社区  ›  vin_Bin87

从未触发的字段更改时作出反应

  •  0
  • vin_Bin87  · 技术社区  · 8 年前

    我有父组件和子组件。我的子组件包含一个带有一些选项的选择字段,这些选项应该在单击(onChange)时更新父级的状态,但它们没有。我在函数中加入了一个调试器,当 onChange() 发生,但从未命中。我哪里做错了?

    Parent Component Function

     updateModal(evt) {
      this.setState({ reason: evt.target.value})
     }
    

    像这样作为道具传递:

    <PastSessions
      updateModal={this.updateModal.bind(this)}
    />
    

    然后是我的 Child Component 使用选择字段。

    <select value={this.props.reason} onChange={this.props.updateModal}>
       <option value='One'>One</option>
       <option value='Two'>Two</option>
       <option value='Three'>Three</option>
    </select>
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   vin_Bin87    8 年前

    最后我重新写了一遍,效果很好。看起来像这样:

      handleUpdateChange(e) {
        this.setState({
          reason: e.target.value
        })
      }
    

    像这样作为道具通过

    handleUpdateChange={this.handleUpdateChange.bind(this)}

    像这样叫

    <select value={this.props.reason} onChange={this.props.handleUpdateChange}>

    很有魅力