自己实测下来,发现只有值是undefined
,就不会有空标签占位输入,但是如果值是ull
,就会有。
看了下遇到这个问题的人数还是蛮多的,官方的回复就是认为ull
就是有值的,只不过是空值,反正我是觉得挺有道理的。
我先说下我为什么能遇到这个问题,因为在PHP中没有undefined
这个类型,只有ull
,所以我在返回的空数据的时候就是ull
,然后问题就复现了。
那既然出现这个问题了,野人也是解决了,才会去写这篇文章,大家看个示例吧。
<Form.Item name="referrer" normalize={(value) => { return [ ...new Set( (value || []) .filter((v: string) => v.trim() != "") .map((v: string) => v.trim()) ), ]; }} > <Select mode="tags" style={{ width: "100%" }} placeholder="请输入,按回车后添加" ></Select> </Form.Item>;
主要是利用了Form.Item中的normalize参数(组件获取值后进行转换,再放入 Form 中。不支持异步),更多用法大家看官方就可以了,这里主要讲个思路哈。