基本上,我想使用react-select库并使用isMulti prop ,但问题是,在选择一个选项后,值将被删除。正如你可以看到下面提供的图像,只要我点击“美国:1、“这个选择会消失。但对于我正在尝试构建的应用程序,客户当然有可能想要两个相同大小的。因此,他们会选择2“US:1”,并自动将数量设置为2。问题是,一旦他们选择了“美国:1、“这个选择就消失了。
这是我目前所拥有的一切。
const options = [
{value: 1, label: "US: 1"},
{value: 1.25, label: "US: 1.25"},
{value: 1.5, label: "US: 1.5"},
{value: 1.75, label: "US: 1.75"},
{value: 2, label: "US: 2"},
{value: 2.25, label: "US: 2.25"},
]
class Details extends Component {
state={
selectedOption: []
}
handleChange = (selectedOption) => {
this.setState({ selectedOption: selectedOption });
}
render() {
<Select isMulti={true} isSearchable={true} onClick={value.changeSize(id, selectedOption)} value={selectedOption} onChange={this.handleChange} options={options}></Select>
}
}
这里有一个例子来说明我在说什么。“美国:1”消失时,它的点击时,我想这个选项留下来。我想它改变了我的“选项”数组,并显示了一个没有点击选项的新数组。如果我能以某种方式在onChange上的每一个单之后都给它提供这些原始值,那就太棒了。我不知道如何挖掘到图书馆如何做到这一点,或者如果它甚至是可能的。https://www.npmjs.com/package/react-select
3条答案
按热度按时间i1icjdpr1#
我会这样做:
我们的想法是不使用
value
作为它的原始目标。当label
props传递给Select
内部的value
时,它仍然正确地显示它。因此,您将基于innerValue
和技巧react-select
。此处为live example
hxzsmxv22#
我想你所需要的就是把
hideSelectedOptions={false}
加到<Select />
上。比如:sqserrrh3#
我有一个@Laura提供的稍微干净的版本。
然后在你的实际组件中,像下面这样使用:
在Laura的回答中,第一个选择没有
innerValue
属性。