如何捕获模态开放编辑项目的ID值?

时间:2019-03-26 13:28:35

标签: reactjs event-handling modal-dialog semantic-ui

我正在尝试从模式打开的onClick()中获取“ id”的值。我已经分配了value={this.props.sightings.id,但没有出现在event.target.value中。

我尝试用调试器查找值,我可以按以下格式查看它,但不知道如何访问它。

这是语义用户界面模式组件的功能:

<Modal
  trigger={
    <Icon
      name="camera retro"
      value={this.props.sighting.id}
      size="big"
      value={this.props.sighting.id}
      style={{ flex: 1, justifyContent: "center", alignItems: "center" }}
      onClick={this.handleOpen}
    />
  }
  open={this.state.modalOpen}
  onClose={this.handleClose}
  basic
  size="small"
>

这是点击处理程序:

handleOpen = (e) => {
  console.log(e)
  this.setState({ modalOpen: true, })
}

这是控制台中的结果:

<i
  value="7"
  aria-hidden="true"
  class="camera retro big icon"
  style="flex: 1 1 0%; justify-content: center; align-items: center;"
/>

我想从<i value="7"或从中获取价值 另一种方式?

1 个答案:

答案 0 :(得分:0)

您可以尝试吗?

<Modal
  trigger={
    <Icon
      name="camera retro"
      value={this.props.sighting.id}
      size="big"
      value={this.props.sighting.id}
      style={{ flex: 1, justifyContent: "center", alignItems: "center" }}
      onClick={() => this.handleOpen(this.props.sighting.id)}
    />
  }
  open={this.state.modalOpen}
  onClose={this.handleClose}
  basic
  size="small"
>

handleOpen = (yourID) => {
  console.log(yourID)
  this.setState({ modalOpen: true, })
}

如果我了解您的问题,只需将其传递给函数...

编辑

如果您需要使用状态代替props,则可以在构造函数中复制值,例如:

constructor(props){
 super(props)
 this.state = { myID : this.props.sighting.id}
}

而不是使用this.state.myID代替this.props.sighting.id