-
-
Notifications
You must be signed in to change notification settings - Fork 478
Closed
Description
新版本的 tags 在使用的时候遇到了一个问题,当 filterOption
为 false 且下面还有选项的时候,无论怎样都无法出现输入的内容作为选项,除非下方已经无选项的情况下才会出现。
断点 debug 后,发现了这段逻辑和先前的不同之处。
https://github.com/react-component/select/blob/master/src/Select.jsx#L830
这里以前是只通过 getValuePropValue(option) === inputValue,来判断是否有和输入的值完全相同的。新版本里这里要过一下 this.filterOption,问题来了,如果 filterOption 配置的是 false 的话,那么 this.filterOption 永远返回 true,这个 every 判断永远返回 false,除非没有选项的情况下,[].every() 返回 true。这样感觉是有问题的
在使用远程模糊匹配的时候,选项从服务端过来,会带一些模糊过来的 value,因为不希望再在前端再做一次 filter,filterOption 设置为 false,这样除非服务端模糊不出对应的选项,否则自己输入的值都不能作为选项之一了。
Metadata
Metadata
Assignees
Labels
No labels