Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Khan/react-multi-select

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b3423f6 · Sep 30, 2022

History

57 Commits
Mar 21, 2017
Oct 8, 2018
May 28, 2019
May 28, 2019
Mar 21, 2017
Mar 8, 2018
Feb 26, 2018
Mar 21, 2017
Mar 21, 2017
Mar 21, 2017
Mar 21, 2017
Mar 27, 2017
Sep 30, 2022
Apr 11, 2019
Oct 8, 2018
Apr 3, 2017
Mar 28, 2017
Oct 8, 2018

Repository files navigation

React Multi Select Component

Note (9/30/2022): I clearly haven't maintained this component in years. I think this is likely a good candidate to transfer the repo to someone else if anyone wants to take it over. There's likely much better options out there today, but if someone wants this, I expect we can do something here. -- BrianGenisio at Gmail

Animated GIF demo

Storybook Demo

Installation:

npm install --save @khanacademy/react-multi-select yarn add @khanacademy/react-multi-select

Usage:

See the examples in /src/stories/index.js for how to use the component, but here is a minimum required setups:

import React from 'react';
import MultiSelect from "@khanacademy/react-multi-select";

const options = [
  {label: "One", value: 1},
  {label: "Two", value: 2},
  {label: "Three", value: 3},
];

class Consumer extends React.Component {
  state = {
    selected: [],
  }

  render() {
    const {selected} = this.state;

    return <MultiSelect
      options={options}
      selected={selected}
      onSelectedChanged={selected => this.setState({selected})}
    />
  }
}

i18n:

You can override the strings to be whatever you want, including translations for your languages.

<StatefulMultiSelect
    overrideStrings={{
        selectSomeItems: "Select Some items...",
        allItemsAreSelected: "All Items are Selected",
        selectAll: "Select All",
        search: "Search",
    }}
/>

About

A multiple select component for React

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published