Как получить значение идентификатора модального открытого для редактирования элемента? - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь получить значение 'id' из модального открытого onClick (). Я назначил 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 голосов
/ 26 марта 2019

Можете ли вы попробовать с этим?

<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, })
}

просто передать его функции, если я понял вашу проблему ...

РЕДАКТИРОВАТЬ

если вам нужно использовать состояние вместо реквизитов, вы можете скопировать значение в конструктор, например:

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

, чем использовать this.state.myID вместо this.props.sighting.id

...