清除多 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
我用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