关于Antd Pro中ProFormSelect选中后没有清除输入框的坑

先附上我的代码

<ProFormSelect
  showSearch
  name="mtoc"
  label={ProForm.getLabel('MTOC', 6)}
  placeholder="请选择"
  formItemProps={{ style: { width: 'calc(33.3% - 24px)' } }}
  // valueEnum={() => {
  //   const valueEnumObject = {};
  //   mtocOptions?.forEach((item) => {
  //     valueEnumObject[item.vehicleModelCode] = item.vehicleModelName;
  //   });
  //   return valueEnumObject;
  // }}
  request={() => {
    return [
      { label: '全部', value: 'all' },
      { label: '未解决', value: 'open' },
      { label: '已解决', value: 'closed' },
      { label: '解决中', value: 'processing' },
    ];
  }}
  fieldProps={{
    maxTagCount: 'responsive',
    mode: 'multiple',
  }}
  onChange={(values, options) => {
    console.log('11111', values, options);
    setListDataExport((prevState) => ({ ...prevState, MTOC: values }));
  }}
/>

一开始我还以为是某些方法用错了,对照着官网上的ProFormSelect一个一个的对照着改,onChange、maxTagCount注释掉,甚至把valueEnum改成request都还存在清除不掉的情况

在这里插入图片描述


这时候一个不起眼的showSearch引起了我的注意,我试着把他注释掉,结果居然成功解决问题了

在这里插入图片描述


我赶紧去官网查了下关于这个的问题:原来是因为mode和showSearch同时使用会导致清除失效

在这里插入图片描述

原来官网在新版本已经把这个bug修复了,奈于我公司的项目没更新,给这个bug卡了半天

总结

如果你的Antd Pro是@ant-design/pro-components@2.3.40之前的版本,则mode多选和showSearch不能同时使用,查询会默认开启,去掉showSearch即可。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值