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 版权协议,转载请附上原文出处链接和本声明。