You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React提交表单后如何将下拉选择框重置为初始默认值Other

问题原因

你给sport下拉框用了defaultValue属性,这属于React非受控组件的用法:defaultValue仅会在组件首次渲染时生效,后续无论你怎么修改state里的sport值,都不会同步更新下拉框的选中状态,所以重置逻辑不生效。而你其他输入框都绑定了value属性和state,属于受控组件,修改state就会同步更新视图,所以重置是正常的。

修复方法

找到下拉框的代码,把defaultValue="Other"改成value={this.state.sport}即可,修改后的select代码如下:

<select
  name="sport"
  className="input"
  id="sport"
  value={this.state.sport}
  onChange={this.handleChange}
>
  {/* 保留原有所有option选项即可 */}
</select>

修改后下拉框就变成受控组件,和其他输入框逻辑一致,你提交后setState把sport设置为"Other"时,下拉框就会自动切换到对应选项。

内容的提问来源于stack exchange,提问作者Raz0rmaddnes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 13:54:08