antd Select组件联动onChange方法this.setState is not function

clipboard.png

如图,联动组件,现想实现选择年份,动态为选择月份中添加数据(如果选择17年,那么只加入1、2两月,之后月份不加)。

代码:

const provinceOptions = this.state.selectYear.map(province => <Option key={province}>{province}</Option>);
const monthOptions = this.state.selectMonth.map(month => <Option key={month}>{month}</Option>);
<Select style={{ width: 120 }} defaultValue={this.state.selectYear[0]} onChange={this.handleProvinceChange}>
  {provinceOptions}
</Select>
<Select style={{ width: 120 }} defaultValue={this.state.selectMonth[0]}>
  {monthOptions}
</Select>

handleProvinceChange(value) {
    var Data = new Date();
    // 获取当前年份
    var year = Data.getFullYear();
    var monthData = [];
    if(year == value){
      var Month = Data.getMonth() + 1;
      for(var i = 0;i< Month;i++){
        monthData.push(Month - i);
      }
      this.setState({
        selectMonth : monthData
      })
   }
}

这里选择年份后提示this.setState is not function,不知道怎么解决,或者有其他的实现方案也可。
感谢!!!!

阅读 9.5k
1 个回答

onChange={this.handleProvinceChange} 改成 onChange={()=>this.handleProvinceChange()}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题