react antd select组件内容更新时默认选择第一项。

需求说明

需求是类似次联选择。 当select选中其他项再更新select内容时被选中项还是上次选择的内容,哪怕新的数据并不存在这个选项。  官方文档给的默认选择是用defaultValue 去实现默认选择。但是这个只会在组件初始化时执行。内容更新并不会执行。  另外关于这个在其他博主内容看到需要配合key属性去绑定同一个值才能实现默认选择

解决方案

defaultValue和key替换成value属性。 直接用value去绑定选中的值。 但是需要在onchange事件内手动切换被绑的值。

  const [platformId, setPlatformId] = useState<string>('0'); //选中的      

 <Select
                  placeholder="请选择"
                  style={{ width: 350 }}
                  onChange={handleChangePlatform}
                  value={platformId}
                  options={platformsList}
                  dropdownStyle={{
                    maxHeight: 400,
                    overflow: 'auto',
                    backgroundColor: '#314c6f',
                  }}
                />
  const handleChangePlatform = (value: string) => {
    setPlatformId(value);
    changePlatform(value);
  };

changePlatform是我自己需求内的功能实现不用管

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值