MultiSelect

複数の選択肢を選ぶことができる選択コンポーネント

MultiSelectGroupと合わせて使用してください。

BASIC

selected: []

import { useState } from 'react'
import { MultiSelect, MultiSelectGroup } from '@charcoal-ui/react'
import styled from 'styled-components'

export const ExampleMultiSelect = () => {
  const [selectedValues, setSelectedValues] = useState<string[]>([])
  return (
    <div>
      <p>selected: [{selectedValues.join(', ')}]</p>
      <StyledMultiSelectGroup
        label="multi-select-1"
        name="multi-select-1"
        onChange={setSelectedValues}
        selected={selectedValues}
      >
        <MultiSelect value="value1">value1</MultiSelect>
        <MultiSelect value="value2">value2</MultiSelect>
        <MultiSelect value="value3">value3</MultiSelect>
      </StyledMultiSelectGroup>
    </div>
  )
}

export const StyledMultiSelectGroup = styled(MultiSelectGroup)`
  display: flex;
  flex-direction: column;
  gap: 8px;
`

disabled

invalid

readonly

variant

Props (MultiSelectGroup)

namedescriptiontypedefaultrequired
labelaria-labelstringYES
nameinputタグに渡されるnamestringYES
selected選択されているキーの配列string[]YES
disabled無効化booleanfalseNO
invalid入力の不正化booleanfalseNO
readonly読み取り専用化stringNO

Props (MultiSelect)

namedescriptiontypedefaultrequired
value選択肢の値stringYES
disabled無効化stringNO
variantスタイル"Default" | "Overlay""Default"NO