从反应选择中清除值

时间:2020-01-28 09:27:34

标签: javascript reactjs react-select

我已经在onChange内部创建了此函数,以使用react-select处理我的输入。就提交输入和以后使用它而言,它工作得很好。问题是,clear属性不起作用。在onChange内创建函数之前,单击“ x”后该函数便可以正常工作。但是现在不是。有什么帮助吗?

  {["role1", "role2", "role3"].map(role => (
          <Select
            cacheOptions
            defaultOptions
            loadOptions={this.loadOptions}
            key={role}
            getOptionLabel={i => i.full_name}
            getOptionValue={i => i.id}
            closeMenuOnSelect={false}
            isMulti
            className="selectStyle"
            placeholder={t(role)}
            value={form.users.filter(item => item.role === role)}
            onChange={values => {
              let newValues = form.users;

              values.forEach(item => {
                if (
                  newValues.filter(v => v.id === item.id && v.role === role)
                    .length
                ) {
                  return;
                }

                item.role = role;
                newValues.push(item);
              });

              setFormValue({ name: "users", value: newValues });
            }}
            clearValue={() => {
              setFormValue({
                name: "users",
                value: form.users.filter(item => item.role !== role)
              });
            }}
          />

0 个答案:

没有答案