清除多 select (react-select)

Clear multi select (react-select)

我用https://github.com/JedWatson/react-select.

我的组件示例:
selectedOptions: [] 在第一个加载组件 multi select 中是空的。当我 select 一些值时,我将这些值写入 selectedOptions。在这种情况下它工作正常。 但是当我清除 selectedOptions 视图不会更新。

有例子https://codesandbox.io/s/xovn7n2lz4

<Select
            defaultValue={selectedOptions}
            isMulti={isMulti}
            onChange={onChange}
            options={options}
            placeholder={placeholder}
            styles={colourStyles}
            theme={(theme) => ({
                ...theme,
                position: 'static',
                borderRadius: 0,
                colors: {
                    ...theme.colors,
                    primary25: darkTheme.colors.hoverColor,
                    primary: darkTheme.colors.hoverColor,
                    neutral0: normalElemColor,
                    neutral80: standardFontColor,
                },
                spacing: {
                    ...theme.spacing,
                    controlHeight: 24,
                    baseUnit: 1
                }
            })}
        />

您正在使用不受控制的输入。

改变

 <Select isMulti
          defaultValue={selectedOptions}         
          onChange={this.onInputChange}
          name="color"
          options={colourOptions}
        />

<Select
          isMulti
          defaultValue={selectedOptions}
          value={selectedOptions}
          onChange={this.onInputChange}
          name="color"
          options={colourOptions}
        />

您已经定义了 onchange 但没有提供任何值。 我建议你反应 controlled vs uncontrolled

demo