首页 > 解决方案 > 如何在 React-Select 中使用 setValue?

问题描述

文档中没有太多关于如何在反应选择中使用 setValue 函数的内容。

这是我的问题。在我的多选中,我有一些元素,如果被选中,会使其他元素无效。或选择2个特定元素时,必须选择第三个要素。

所以我做一个如果。我有一个参考,所以它看起来像这样:

if(selectInputRef.current){
    if(selectInputRef.current.select.hasValue('optionA')){
        selectInputRef.current.select.clearValue();
        //selectInputRef.current.select.setValue('optionB','deselect-option');
    }
    if(selectInputRef.current.select.hasValue('optionA') && selectInputRef.current.select.hasValue('optionC')){
        //selectInputRef.current.select.setValue('optionD','select-option');
    }
}

因此,这项工作中的所有元素都未注释。我可以检查该值是否被选中,如果是,我可以完全清除选择。

但现在我需要特别改变元素。这是行不通的。文档在这方面并没有真正的用处。

在此处输入图像描述

那么我应该如何编写它以使这条线工作?

标签: react-select

解决方案


好的,这么小的更正。

hasValue('optionA')行只会告诉您该值是否存在。不是,如果它检查。

您需要执行 agetValue()以获取所有选中的选项,然后对其进行搜索。

此外,setValue 设置选择的完整值。不需要清除。它需要完整的数据数组。因此setValue([{value: 'optionA', label:'Option A'}]);将检查该选项并取消选中其他所有内容。


推荐阅读