Выбор элемента управления для React. Первоначально создан для использования в KeystoneJS.
Смотрите React-select.com для живых демонстраций и комплексных документов.
react-select
финансируется Thinkmill и Atlassian. Мы являемся проектом с открытым исходным кодом, который постоянно поддерживается сообществом.
React Select поможет вам разработать мощные компоненты Select, которые просто работают из коробки, не мешая вам настраивать важные для вас детали.
Для истории, стоящей за этим компонентом, посмотрите разговоры Джеда на React Conf 2019 - Build
Особенности включают:
Самый простой способ использования React-Select-это установить его из NPM и построить в вашем приложении в WebPack.
yarn add react-select
Затем используйте его в своем приложении:
import React , { useState } from 'react' ;
import Select from 'react-select' ;
const options = [
{ value : 'chocolate' , label : 'Chocolate' } ,
{ value : 'strawberry' , label : 'Strawberry' } ,
{ value : 'vanilla' , label : 'Vanilla' } ,
] ;
export default function App ( ) {
const [ selectedOption , setSelectedOption ] = useState ( null ) ;
return (
< div className = "App" >
< Select
defaultValue = { selectedOption }
onChange = { setSelectedOption }
options = { options }
/ >
< / div >
) ;
}
Общие реквизиты, которые вы, возможно, захотите указать, включают:
autoFocus
- фокусируйте управление, когда он монтируетсяclassName
- применить имя класса к управлениюclassNamePrefix
- Применить имена классов к внутренним элементам с данным префиксомisDisabled
- отключить управлениеisMulti
- разрешить пользователю выбрать несколько значенийisSearchable
- разрешить пользователю искать параметры сопоставленияname
- Сгенерируйте HTML -ввод с этим именем, содержащим текущее значениеonChange
- подписаться на изменения событийoptions
- укажите параметры, которые пользователь может выбрать изplaceholder
- измените текст, отображаемый при выборе опцииnoOptionsMessage
- ({inputValue: String}) => String | NULL - текст для отображения, когда нет параметровvalue
- управлять текущим значениемСм. Документацию реквизита для полной документации по поддержке React Select.
Вы можете контролировать следующие реквизиты, предоставляя им значения. Если вы этого не сделаете, React-Select будет управлять ими для вас.
value
/ onChange
- укажите текущее значение управленияmenuIsOpen
/ onMenuOpen
/ onMenuClose
- контролировать, открыто ли менюinputValue
/ onInputChange
- управлять значением ввода поиска (изменение этого будет обновлять доступные параметры)Если вы не предоставите эти реквизиты, вы можете установить начальное значение состояния, которое они управляют:
defaultValue
- установите начальное значение управленияdefaultMenuIsOpen
- установите начальное открытое значение менюdefaultInputValue
- установите начальное значение ввода поиска React-Select выставляет два публичных метода:
focus()
- фокусировать контроль программноblur()
- размыть управление программно Проверьте документы для получения дополнительной информации о:
Выпуск V5 представляет собой переписывание от JavaScript в TypeScript. Типы для V4 и более ранние выпуски доступны по адресу @types. См. Руководство по типографии для использования типов, начинающихся с V5.
Спасибо всем, кто внес свой вклад в этот проект. Это была дикая поездка.
Если вам нравится React Select, вы должны следить за мной в Твиттере!
Выкричь Джосса Маккисона, Чарльза Ли, Бена Конолли, Тома Уокера, Натана Биерема, Эрика Боноу, Эммы Гамильтон, Дейва Бертостоуна, Брайана Вона и команды Atlassian Design System, которая вместе со многими другими участниками сделали это возможным ❤
MIT лицензирован. Авторское право (C) Джед Уотсон 2022.