如何在react-selectize中手动将项添加到MultiSelect?

时间:2018-01-09 14:53:17

标签: javascript reactjs frontend selectize.js

我正在尝试添加新值以在用户点击按钮时反应选择多选(我使用http://furqanzafar.github.io/react-selectize/#/)。

在JQuery中,我只需点击一下按钮即可调用addItem(value,silent)。

例如在JQuery中:

v.selectize.addItem("email@gmail.com");

在我的代码中:

我创建了一些MultiSelect组件:

<MultiSelect
        placeholder = "All Emails"
        options = {this.state.emails.map(
          source => ({label: source, value: source})
        )}
        onValuesChange = {value => this.onInputChange(value, "sources")}
/>

然后我在页面底部有了这个按钮:

<button OnClick={this.addEmailValue("email@gmail.com")}></button>

当我点击按钮时,它会转到:

addEmailValue(email){
    //here I want to add the email as a item to the multiSelect
}

如何将“email@gmail.com”添加到MultiSelect作为项目? (就像顶部的JQuery示例一样)

感谢。

1 个答案:

答案 0 :(得分:0)

从外观上看,您只需更新“电子邮件”即可。通过在addEmailValue函数中将新电子邮件推送到它来说明状态。例如:

addEmailValue(email) {
   var emails = this.state.emails;

   emails.push({
      label: email,
      value: email
   });

   this.setState({
      emails: emails
   });
}