Skip to content

新版本引入的 tags 问题 #217

@eternalsky

Description

@eternalsky

新版本的 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,这样除非服务端模糊不出对应的选项,否则自己输入的值都不能作为选项之一了。

@yiminghe @benjycui

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions