解决antd Select选择器空标签输入

  • Post author:
  • Post category:其他


antd Select组件,在mode=”tags”时,输入空格会生成空值,并可以选择成为tag标签,不知道这是bug还是设计如此,存在于各个版本,官方一直没处理。对于我们用户,是不需要这样的输入值,所以得在开发中解决。

在这里插入图片描述

在这里插入图片描述

通尝试在onChange中去对值做筛除,或者改变可控的value,组件底层代码会报错。

最后采取Form组件中,通过getFieldDecorator,设置normalize属性,将空值去除。

示例:

<Form.Item label='标签'>
    {
        getFieldDecorator('tags', {
            rules: [{
                required: true,
                message: '请输入标签'
            }],
            normalize: value => [...new Set((value || []).filter(v => v.trim() != '').map(v => v.trim()))]
        })(
            <Select
                mode='tags'
            >
                {/* 标签值 */}
            </Select>
        )
    }
</Form.Item>



版权声明:本文为weixin_43794073原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。