react antd Select Option 默认选中第一项

在这里想设置进入此页面则下拉框默认选择为“是”,但由于没有option没有selected属性,不能设置默认,求助各位大佬,这应该怎么设置 ?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

用这个试试看:

React Antd使用 Select 的动态默认值问题

由于react的生命周期是,componentWillMount --> render --> componentDidMount 。 而且 antd select组件的defalutValue 只在 render 时候执行一次。 所以解决办法 一是在 render 之前就初始化好 defalutValue 的值 二是让defalutValue 多次 render

 

# 尝试 在 componentWillMount 周期请求数据,
componentWillMount () { this.getData()}

 

# 也可以给 defalutValue 添加一个 key, key的值就是 defaultValue 的值
  <Select key={curr} defaultValue={curr} style={{ width: 180 }} size='large' className='select-el' onChange={this.handleChange}>
   {select.map(item => (<Option className='y-select-option' key={item.id} value={item.id}>{item.year}</Option>))}
 </Select>
# 或者 直接把 defalutValue 改成 value 绑定就可以了
 <Select value={curr} style={{ width: 180 }} size='large' className='select-el' onChange={this.handleChange}>
   {select.map(item => (<Option className='y-select-option' key={item.id} value={item.id}>{item.year}</Option>))}
 </Select>