Javascript 如何使用React.js在multi-select中选择all?

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

我使用React.js编写了这段代码,我想添加'all',当我选择select中的所有项目时,它们都被选中。
如何执行此操作?

您需要添加一个选项来选择所有值并将所选选项存储在状态中。选择“全部”选项时,将所有选项设置为状态,单击“全部取消选择”时取消设置

注意:“全部选择”选项和“全部取消选择”选项必须具有相同的值才能执行切换操作

我已经更新了你的代码。 参考:

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}
  />
);