【发布时间】:2017-10-14 08:16:01
【问题描述】:
我正在使用启用了多选选项的 react-select。我想在从给定列表中选择选项后添加元素。此外,如果单击“x”(交叉,输入列表中的选定选项附带),我想从选定的输入列表中删除该元素。我可以使用 onChnage 事件在列表中添加元素,但是,不确定如何删除它。我认为 react-select 组件应该有一些回调方法来从选定列表中删除元素,但我也无法在 github 上找到它。他们为多选提供的链接如下,我想要这样的东西:https://jedwatson.github.io/react-select/(在此检查多选)。我在这里附上我的html代码sn-p:
createNewDeliveryData: {
user_id: localStorage.getItem('userId'),
//auth_token: localStorage.getItem('token'),
is_listed: false,
is_published: false,
id:'',
tags: [],
languages: [],
markets:[],
order: 1,
},
market = {
default_name: "Deutschland"
icon: "de"
id:"44fc0d0c-d0ed-4013-924a-e15f4d589c83"
}
<If condition={!this.props.getDeliveryReqState}>
<Select
multi={true}
name="form-field-name"
options={this.props.metadata ? this.props.metadata["latest"].markets : []}
labelKey="default_name"
valueKey="id"
onChange={this.addMarket}
clearable={false}
value={this.state.createNewDeliveryData.markets}
/>
</If>
addMarket = (value) => {
console.log("markets type",typeof(value))
this.setState({
createNewDeliveryData : {
...this.state.createNewDeliveryData,
markets: value
},
},function () {
this.setValue({id:"markets", value:this.state.createNewDeliveryData.markets, error:null})
});
}
有人可以帮助我吗?如果我可以使用 react in-buil 回调方法而不是手动处理删除逻辑会更好。
提前致谢。
【问题讨论】:
标签: javascript html reactjs multi-select react-select