如下代码所示,想通过点击事件将category
数组的最后一个值在this.option
中赋给categoryId
,但是在onSearchClick
中对option
进行state
的更新,发现并没起作用,我打断点了this.state.category
数组是有值的但是打印出来一直是原始值,求解为什么这个option
的state
没更新,然后我该怎么做?
state = {
collapsed: false,
options: [],
option: {
categoryId: '',
dateRange: [],
text: ''
}
};
//...
render() {
return (<div><Cascader name="category" value={this.state.category} style={{width:300}} options={options} placeholder={"类目"} onChange={this.onCascaderChange}
changeOnSelect/><Button type="primary" icon="search" onClick={this.onSearchClick}>过滤</Button><ArticleListManage option={this.state.option}/></div>);
}
onSearchClick = () => {
if (this.state.category && this.state.category.length) {
this.setState({option: {...this.state.option, categoryId: this.state.category[this.state.category.length - 1]}}, () => {
console.log(this.state.option);
});
}
}
if (this.state.category && this.state.category.length) 你这个判断能走进去?