从状态获取当前值下拉列表

时间:2019-04-16 10:34:47

标签: reactjs semantic-ui

我需要从状态到函数中获取选定的当前值,但对我来说我做错了什么

<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 个答案:

答案 0 :(得分:2)

如果没有完整而简约的代码,我的最佳猜测是您在onChange组件中调用了错误的函数Dropdown。您还需要通过event.target.value检索更改时传递的值。

自从更新嵌套对象的状态以来,valueaccountsList的子代,因此您必须对其进行深度克隆。

赞:

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

答案 1 :(得分:0)

我敢说选定的当前值更有可能存在于onChange = ({value}) => this.setState({value})中,即:它将位于回调的第一个参数中,而不是第二个。 >

什么是下拉库?