在按钮点击时向可创建选择框添加新值。

huangapple go评论72阅读模式
英文:

Adding new value to creatableselect on button click

问题

在按钮点击时向CreatableSelect添加新值。

我正在使用'react-select/creatable'中的CreatableSelect,并且我需要通过单击按钮来向选择字段添加新值,

例如:

在按钮点击时向可创建选择框添加新值。

并且我不想显示“创建文本”。

在按钮点击时向可创建选择框添加新值。

以下是我的代码:

             <>
                <CreatableSelect
                    isMulti 
                    options={ options }
                    isClearable={false}
                    components={{ 
                        DropdownIndicator:() => null, 
                        IndicatorSeparator:() => null
                    }}

                />
                <span className="add-btn" onClick={handleCreateOption}>
                  <i className="bi bi-plus"></i>
                </span>
            </>
英文:

Adding new value to creatableselect on button click.

I am using CreatableSelect from 'react-select/creatable' , and I have to add new value to the select field by clicking on a button,

eg:

在按钮点击时向可创建选择框添加新值。

And I don't want to show the create "text".

在按钮点击时向可创建选择框添加新值。

here is my code

             <>
                <CreatableSelect
                    isMulti 
                    options={ options }
                    isClearable={false}
                    components={{ 
                        DropdownIndicator:() => null, 
                        IndicatorSeparator:() => null
                    }}

                />
                <span className="add-btn" onClick={handleCreateOption}>
                  <i className="bi bi-plus"></i>
                </span>
            </>

答案1

得分: 1

对于特定情景,我认为不需要可创建的Select,而是可以使用一个简单的React Select,并在点击“添加”按钮时添加选项。您可能需要根据特定搜索条件来启用或禁用按钮,例如:

<button
  disabled={
    !!options.filter((option) =>
      option.toLowerCase().includes(search.toLowerCase())
    ).length === 0
  }
  onClick={(e) => {
    setOptions([...options, search]);
  }}
>
  添加
</button>

类似这样的实现。

英文:

for the specific scenario i don't think creatable Select is needed you use a simple react select and onClick of the add button add the option. you might need to enable and disable based on if no option is found with specific search.
like

      &lt;button
        disabled={
          !!option.filter((option) =&gt;
            option.toLowerCase().includes(search.toLowerCase())
          ).length
        }
        onClick={(e) =&gt; {
          setOptions([...options, search])
        }}
      &gt;
        Add
      &lt;/button&gt;

something like this

huangapple
  • 本文由 发表于 2023年5月26日 16:49:23
  • 转载请务必保留本文链接:https://go.coder-hub.com/76339170.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定