我需要从状态到函数中获取选定的当前值,但对我来说我做错了什么
<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}`,
答案 0 :(得分:2)
如果没有完整而简约的代码,我的最佳猜测是您在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} });
};
答案 1 :(得分:0)
我敢说选定的当前值更有可能存在于onChange = ({value}) => this.setState({value})
中,即:它将位于回调的第一个参数中,而不是第二个。 >
什么是下拉库?