Liv opp de kjedelige rullegardinlistene dine med dette fleksible React-biblioteket.

En valgt inngang er en nyttig nettapp-komponent som lar deg velge en verdi fra mange alternativer uten å ta opp mye plass. Men standardstylingen kan være kjedelig og kollidere med resten av designet ditt.

React Select gir en fleksibel og tilpassbar løsning for å forbedre utseendet og funksjonaliteten til rullegardininnganger.

Installerer React Select

Integrering av React med andre biblioteker eller teknologier, som React Select, React Redux og mange flere, kan forenkle utviklingsprosessen.

For å komme i gang med React Select, må du installere det i prosjektet ditt. Til gjør dette ved å bruke npm, kjør denne terminalkommandoen i prosjektkatalogen din:

npm i --save react-select

Dette vil installere og sette opp biblioteket i React-prosjektet ditt, slik at du kan begynne å bruke det.

Opprette Select-innganger med React Select

Nå som du har satt opp biblioteket, kan du bruke det til å lage utvalgte innganger. For å gjøre dette, bruker du

instagram viewer
Plukke ut komponent. Dette er en svært tilpassbar komponent som lar brukere velge alternativer fra en liste.

Her er et eksempel på hvordan du bruker Select-komponenten:

import React from"react"
import Select from"react-select"

functionApp() {
const options = [
{ value: "apple", label: "Apple" },
{ value: "pineapple", label: "Pineapple" },
{ value: "watermelon", label: "Watermelon" },
]

return (



</div>
)
}

exportdefault App

Dette eksemplet begynner med å importere Plukke ut komponent fra "reagere-velg”. Den definerer en alternativer array med tre objekter, hver med en verdi og a merkelapp eiendom. Egenskapen value representerer verdien som skjemaet vil sende til backend når du sender det. Etikettegenskapen er teksten som Select-komponenten vil vise i rullegardinmenyen.

Når du gjengir Select-komponenten, sender du alternativmatrisen til den ved å bruke alternativer rekvisitt.

Med denne kodeblokken vil React Select-biblioteket generere en rullegardin som dette:

Tilpasse de utvalgte inngangene

React Select gir forskjellige måter å tilpasse utvalgte innganger på. Du kan bruke CSS-klasser eller bruke innebygde stiler direkte på de utvalgte inngangene, i henhold til dine preferanser.

Tilpasning med CSS-klasser

React Select-biblioteket gir en klassenavn rekvisitt for Plukke ut komponent. Bruk denne className prop å bruke tilpasset Cascading Style Sheet (CSS) stiler til dine utvalgte komponenter.

For eksempel:

import React from"react"
import Select from"react-select"

functionApp() {
const options = [
{ value: "apple", label: "Apple" },
{ value: "pineapple", label: "Pineapple" },
{ value: "watermelon", label: "Watermelon" },
]

return (


exportdefault App

Kodeblokken ovenfor ligner den forrige, men den bruker klassenavn prop for å bruke en tilpasset CSS-klasse på Plukke ut komponent. Angi et navn i className prop, og du kan bruke det til å bruke CSS-stiler på komponenten:

.select {
color: #333333;
font-family: cursive;
inline-size: 30%;
font-size: 11px;
}

Etter å ha definert stilene, vil inndataene dine se slik ut:

Tilpasning med innebygde stiler

Du kan også definere innebygde stiler i et objekt som du sender via stiler rekvisitt av Plukke ut komponent. Dette gir deg mer kontroll over stilen til individuelle elementer.

Her er et eksempel:

import React from"react"
import Select from"react-select"

functionApp() {
const options = [
{ value: "apple", label: "Apple" },
{ value: "pineapple", label: "Pineapple" },
{ value: "watermelon", label: "Watermelon" },
]

const customStyles = {
control: (baseStyles, state) => ({
...baseStyles,
backgroundColor: "#e2e2e2",
}),
option: (baseStyles, state) => ({
...baseStyles,
backgroundColor: state.isFocused? "#e2e2e2": "",
color: state.isFocused? "#333333": "#FFFFFF",
}),
menu: (baseStyles, state) => ({
...baseStyles,
backgroundColor: "#333333",
}),
}

return (



</div>
)
}

exportdefault App

Rekvisittobjektet, tilpassede stiler, inneholder stilegenskaper for Select-komponenten kontroll, alternativ, og Meny deler. Disse egenskapene er funksjoner som tar to argumenter: basestiler og stat.

BaseStyles-parameteren representerer standardstilene gitt av React Select, mens tilstandsparameteren representerer elementets nåværende tilstand. I dette eksemplet bruker funksjonene spredningsoperatoren til å kombinere baseStyles med ekstra stiler for hver del av komponenten.

Etter å ha brukt disse stilene, skal den valgte inndata se slik ut:

Legge til funksjonalitet til utvalgte innganger

React Select gir flere funksjoner for å forbedre funksjonaliteten til utvalgte innganger. Du kan aktivere flervalgs- og søkefunksjonalitet, og til og med lage tilpassede rullegardinkomponenter.

Multi-Select-funksjonalitet

For å aktivere flervalgsfunksjonalitet i rullegardinmenyene dine, bestå erMulti prop til Select-komponenten. Dette lar brukere velge flere alternativer fra rullegardinmenyen.

For eksempel:

import React from"react"
import Select from"react-select"

functionApp() {
const options = [
{ value: "apple", label: "Apple" },
{ value: "pineapple", label: "Pineapple" },
{ value: "watermelon", label: "Watermelon" },
{ value: "grapes", label: "Grapes" },
{ value: "orange", label: "Orange" },
]

return (



</div>
)
}

exportdefault App

Dette eksemplet viser hvordan du bruker erMulti prop for å legge til flervalgsfunksjonalitet til dine utvalgte innganger.

Søkefunksjonalitet

React Select-biblioteket har innebygd søkefunksjonalitet for enkelt å filtrere alternativer. Som standard viser Select-komponenten søkeinndata når du åpner rullegardinmenyen. Brukere kan skrive inn søkeinndata for å filtrere de tilgjengelige alternativene.

For å aktivere søkefunksjonalitet, bestå er søkbar støtte til Plukke ut komponent. Som erMulti prop, isSearchable godtar en boolsk verdi.

Her er et eksempel på hvordan du bruker isSearchable-rekvisitten for å aktivere søkefunksjonalitet:

import React from"react"
import Select from"react-select"

functionApp() {
const options = [
{ value: "apple", label: "Apple" },
{ value: "apricot", label: "Apricot" },
{ value: "mango", label: "Mango" },
{ value: "mangosteens", label: "Mangosteens" },
{ value: "avocado", label: "Avocado" },
]

return (



</div>
)
}

exportdefault App

Å gjengi kodeblokken ovenfor vil vise en valgt inngang med søkefunksjonalitet. Det vil se ut og fungere slik:

Lag egendefinerte dropdown-komponenter

React Select lar deg lage egendefinerte nedtrekkskomponenter ved å bruke komponentpropen. Du kan overstyre standardkomponentene levert av React Select og tilpasse utseendet og oppførselen til rullegardinmenyen for å passe din smak.

For eksempel:

import React from"react"
import Select, { components } from"react-select"

functionApp() {
const CustomOption = (obj) => (


{obj.label}</span>
marginInlineStart: "0.2rem" }}>Fruit</span>
</div>
)

const CustomDropdownIndicator = (props) => (

↓</span>
</components.DropdownIndicator>
)

const options = [
{ value: "apple", label: "Apple" },
{ value: "pineapple", label: "Pineapple" },
{ value: "watermelon", label: "Watermelon" },
]

const customComponents = {
Option: CustomOption,
DropdownIndicator: CustomDropdownIndicator,
}

return<Selectoptions={options}components={customComponents} />
}

exportdefault App

Denne kodeblokken viser hvordan du oppretter tilpassede komponenter for en valgt inngang ved å bruke komponenter rekvisitt av Plukke ut komponent. Den importerer komponenter objekt som er en samling av forhåndsdefinerte komponenter du kan bruke til å tilpasse utseendet og oppførselen til ulike elementer i dine utvalgte innganger.

Koden definerer to funksjonelle komponenter: CustomOption og CustomDropdownIndicator. CustomOption-komponenten tar et objekt som en parameter. Dette objektet inneholder ulike egenskaper som React Select gir, som indreProps og merkelapp.

CustomDropdownIndicator-komponenten tar Rekvisitter som en parameter. Denne komponenten gjengir en egendefinert rullegardinindikator med et pil nedover. Koden lager en tilpassede komponenter objekt som tilordner CustomOption- og CustomDropdownIndicator-komponentene til de tilsvarende Alternativ og Dropdown-indikator nøkler.

Til slutt sender denne koden customComponents-objektet til komponentpropen til Select-komponenten. Dette vil gjengi en valgt inngang med de tilpassede komponentene, som ser slik ut:

Standardkomponenter kan være kraftigere og mer attraktive

React Select er et kraftig bibliotek som lar deg lage vakre og stilige utvalgte innganger i React. Du kan tilpasse utvalgte innganger, legge til funksjonalitet til dem og lage egendefinerte rullegardinkomponenter. Ved å dra nytte av dette biblioteket kan du forbedre utseendet og brukeropplevelsen til React-appene dine.