получить текущее значение выпадающего из состояния - PullRequest
0 голосов
/ 16 апреля 2019

Мне нужно перевести выбранное текущее значение из состояния в функцию, но у меня не получается, что я делаю неправильно

<Dropdown
  placeholder="Select Friend"
  fluid
  selection
  options={accountsList}
  value={accountsList.value}
  onChange={this.handleChange}
/>

// onChange function 
onChange = (e, { value }) => this.setState({ value })

// function where i need to get value
const acc = this.state.accountsList.value
const year = this.state.years.value
const months = this.state.months.value
axios
  .get(`http://******/cabinet/invoice/${acc}/${year}/${months}`,

Ответы [ 2 ]

2 голосов
/ 16 апреля 2019

Без полного и минималистичного кода, я думаю, вы вызываете неправильную функцию onChange в компоненте Dropdown. Вам также необходимо получить значение, переданное при изменении, через event.target.value.

Поскольку вы обновляете состояние вложенного объекта, value является потомком accountsList, вам необходимо его глубоко клонировать.

Как это:

this.setState({ accountsList: { ...this.state.accountsList, value: newValue} });

В вашем примере:

<Dropdown
      placeholder="Select Friend"
      fluid
      selection
      options={accountsList}
      value={accountsList.value}
      onChange={this.handleChange}
/>

handleChange = (event) => {
     this.setState({ accountsList: { ...this.state.accountsList, value: event.target.value} });
};
0 голосов
/ 16 апреля 2019

Смею сказать, что выбранное текущее значение , скорее всего, будет существовать в onChange = ({value}) => this.setState({value}), то есть: оно будет в первом аргументе обратного вызова, а не во втором.

Что такое выпадающая библиотека?

...