Javascript 如何使用React.js在multi-select中选择all?
我使用React.js编写了这段代码,我想添加'all',当我选择select中的所有项目时,它们都被选中。Javascript 如何使用React.js在multi-select中选择all?,javascript,reactjs,select,multi-select,Javascript,Reactjs,Select,Multi Select,我使用React.js编写了这段代码,我想添加'all',当我选择select中的所有项目时,它们都被选中。 如何执行此操作?您需要添加一个选项来选择所有值并将所选选项存储在状态中。选择“全部”选项时,将所有选项设置为状态,单击“全部取消选择”时取消设置 注意:“全部选择”选项和“全部取消选择”选项必须具有相同的值才能执行切换操作 我已经更新了你的代码。 参考: import React from 'react'; import chroma from 'chroma-js'; import
如何执行此操作?您需要添加一个选项来选择所有值并将所选选项存储在状态中。选择“全部”选项时,将所有选项设置为状态,单击“全部取消选择”时取消设置 注意:“全部选择”选项和“全部取消选择”选项必须具有相同的值才能执行切换操作 我已经更新了你的代码。 参考:
import React from 'react';
import chroma from 'chroma-js';
import { colourOptions } from './docs/data';
import Select from 'react-select';
const colourStyles = {
control: styles => ({ ...styles, backgroundColor: 'white' }),
option: (styles, { data, isDisabled, isFocused, isSelected }) => {
const color = chroma(data.color);
return {
...styles,
backgroundColor: isDisabled
? null
: isSelected
? data.color
: isFocused
? color.alpha(0.1).css()
: null,
color: isDisabled
? '#ccc'
: isSelected
? chroma.contrast(color, 'white') > 2
? 'white'
: 'black'
: data.color,
cursor: isDisabled ? 'not-allowed' : 'default',
':active': {
...styles[':active'],
backgroundColor: !isDisabled && (isSelected ? data.color : color.alpha(0.3).css()),
},
};
},
multiValue: (styles, { data }) => {
const color = chroma(data.color);
return {
...styles,
backgroundColor: color.alpha(0.1).css(),
};
},
multiValueLabel: (styles, { data }) => ({
...styles,
color: data.color,
}),
multiValueRemove: (styles, { data }) => ({
...styles,
color: data.color,
':hover': {
backgroundColor: data.color,
color: 'white',
},
}),
};
export default () => (
<Select
closeMenuOnSelect={false}
defaultValue={[colourOptions[0], colourOptions[1]]}
isMulti
options={colourOptions}
styles={colourStyles}
/>
);