likes
comments
collection
share

关于ant Design的select隐藏属性使用对于react框架,居然还有隐藏属性,这些属性在文档里没有,但是用起来

作者站长头像
站长
· 阅读数 39

现在对于react框架,关联组件大家基本都是使用ant Design、ant Design Mobile,虽然组件的功能已经相当丰富,但是难免还是会有一些奇怪的需求,让人绞尽脑汁去考虑解决方法。

近期就有一个看上去比较简单的需求:一个下拉框可以下拉选择,要求单选,同时也可以随意输入内容,看见需求大家第一反应应该就是,select不是有个搜索功能可以下拉也可以输入,就它了!但是,我们知道select的可输入功能是用来进行远程搜索或者是过滤下拉选项的,如果没有对应的值,当失焦的时候输入的值就会呗清空掉,这是不符合需求要求的。

通过文档考虑的一个思路:设置属性mode='mutiple', value={val},通过onChange、onSearch方法获取到选择和输入的值,赋值给val,并且在多选的时候通过数组的截取方法,只取第一项。经过上述操作达到了基本的要求,但是也有个问题,就是在选择一项后,再去输入内容,输入的内容会直接覆盖掉所选值,显然是不完美的。

然后就是各种尝试,各种处理赋值......

最终没能尝试出合适方法,只好去du一下~果然还真找到了有同样需求的大佬的解决方案。

其实在and的源码中,关于select的mode属性,还存在另外一个值,这个值并没有在文档里列出来,看下源码截图

关于ant Design的select隐藏属性使用对于react框架,居然还有隐藏属性,这些属性在文档里没有,但是用起来

只需要将mode设置为SECRET_COMBOBOX_MODE_DO_NOT_USE,就能达到我们的要求,既可以下拉单选,也可以输入内容直接赋值,看下效果

关于ant Design的select隐藏属性使用对于react框架,居然还有隐藏属性,这些属性在文档里没有,但是用起来

谨以此文记录一下,并且默默地感谢那位找到方法的大神~

转载自:https://juejin.cn/post/7408742801850777609
评论
请登录