Elavdage oma igavaid rippmenüüsid selle paindliku Reacti teegiga.

Valitud sisend on kasulik veebirakenduse komponent, mis võimaldab teil valida paljude valikute hulgast väärtuse ilma palju ruumi võtmata. Kuid vaikestiil võib olla igav ja olla vastuolus teie ülejäänud kujundusega.

React Select pakub paindlikku ja kohandatavat lahendust rippmenüü sisendite välimuse ja funktsionaalsuse parandamiseks.

React Selecti installimine

Reacti integreerimine teiste raamatukogude või tehnoloogiatega, nagu React Select, React Redux ja palju muud, võivad arendusprotsessi lihtsustada.

React Selectiga alustamiseks peate selle oma projekti installima. To tehke seda kasutades npm, käivitage see terminali käsk oma projekti kataloogis:

npm i --save react-select

See installib ja seadistab teie Reacti projekti teegi, et saaksite seda kasutama hakata.

Valiku sisendite loomine React Selectiga

Nüüd, kui olete teegi seadistanud, saate seda kasutada valitud sisendite loomiseks. Selleks kasutate Valige komponent. See on väga kohandatav komponent, mis võimaldab kasutajatel loendist valikuid valida.

instagram viewer

Siin on näide komponendi Select kasutamise kohta.

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

See näide algab faili importimisega Valige komponent alates "reageeri-vali”. See määratleb an valikuid massiiv kolme objektiga, millest igaühel on a väärtus ja a silt vara. Atribuut väärtus tähistab väärtust, mille vorm saadab selle esitamisel taustaprogrammi. Sildi atribuut on tekst, mille komponent Vali rippmenüüs kuvab.

Valimiskomponendi renderdamisel edastage sellele suvandite massiiv, kasutades nuppu valikuid prop.

Selle koodiplokiga loob React Select teek sellise rippmenüü:

Valitud sisendite kohandamine

React Select pakub erinevaid võimalusi valitud sisendite kohandamiseks. Saate kasutada CSS-i klasse või rakendada sisemisi stiile otse valitud sisenditele vastavalt oma eelistustele.

Kohandamine CSS-klassidega

Teek React Select pakub a klassi nimi prop for Valige komponent. Kasutage seda klassinime prop kohandatud kaskaadlaaditabeli (CSS) rakendamiseks stiilid oma Select komponentidele.

Näiteks:

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

Ülaltoodud koodiplokk on sarnane eelmisele, kuid kasutab klassi nimi prop kohandatud CSS-klassi rakendamiseks Valige komponent. Sisestage nimi propus className ja saate seda kasutada komponendile CSS-stiilide rakendamiseks:

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

Pärast stiilide määratlemist näeb teie valitud sisend välja järgmine:

Kohandamine tekstisiseste stiilidega

Samuti saate määratleda tekstisiseseid stiile objektis, mille kaudu edastate stiilid prop of the Valige komponent. See annab teile suurema kontrolli üksikute elementide stiili üle.

Siin on näide:

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

Rekvisiitobjekt, kohandatud stiilid, sisaldab komponendi Select stiili atribuute kontroll, valikja menüü osad. Need omadused on funktsioonid, millel on kaks argumenti: baseStyles ja olek.

Parameeter baseStyles tähistab React Selecti pakutavaid vaikestiile, olekuparameeter aga elemendi praegust olekut. Selles näites kasutavad funktsioonid levikuoperaatorit, et kombineerida baseStyles komponendi iga osa jaoks lisalaadidega.

Pärast nende stiilide rakendamist peaks teie valitud sisend välja nägema järgmine:

Funktsionaalsuse lisamine sisendite valikule

React Select pakub mitmeid funktsioone valitud sisendite funktsionaalsuse täiustamiseks. Saate lubada mitme valiku ja otsingu funktsioonid ning luua isegi kohandatud rippmenüü komponente.

Mitme valikuga funktsionaalsus

Rippmenüüdes mitme valiku funktsiooni lubamiseks edastage isMulti toetada komponendi Vali. See võimaldab kasutajatel valida rippmenüüst mitu valikut.

Näiteks:

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

See näide näitab, kuidas kasutada isMulti prop, et lisada valitud sisenditele mitme valikuga funktsioon.

Otsingufunktsioonid

Teek React Select pakub valikute hõlpsaks filtreerimiseks sisseehitatud otsingufunktsiooni. Vaikimisi kuvab komponent Vali rippmenüü avamisel otsingusisendi. Kasutajad saavad saadaolevate valikute filtreerimiseks sisestada otsingusisendi.

Otsingufunktsiooni lubamiseks edastage on Otsitav toetada Valige komponent. Nagu isMulti prop, isSearchable aktsepteerib tõeväärtust.

Siin on näide selle kohta, kuidas kasutada otsingufunktsiooni lubamiseks rekvisiite isSearchable:

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

Ülaltoodud koodiploki renderdamisel kuvatakse otsingufunktsiooniga valitud sisend. See näeb välja ja toimib järgmiselt:

Looge kohandatud rippmenüü komponendid

React Select võimaldab teil luua kohandatud rippmenüü komponente, kasutades komponentide propi. Saate tühistada React Selecti pakutavad vaikekomponendid ja kohandada rippmenüü välimust ja käitumist vastavalt oma maitsele.

Näiteks:

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

See koodiplokk näitab, kuidas luua valitud sisendi jaoks kohandatud komponente, kasutades komponendid prop of the Valige komponent. See impordib komponendid objekt, mis on eelnevalt määratletud komponentide kogum, mida saate kasutada erinevate elementide välimuse ja käitumise kohandamiseks valitud sisendites.

Kood määratleb kaks funktsionaalset komponenti: Kohandatud valik ja Kohandatud rippmenüü indikaator. Komponent CustomOption võtab parameetrina objekti. See objekt sisaldab mitmesuguseid atribuute, mida React Select pakub, näiteks sisemised rekvisiidid ja silt.

CustomDropdownIndicator komponent võtab rekvisiidid parameetrina. See komponent renderdab kohandatud rippmenüü indikaatori koos allapoole suunatud noolesümboliga. Kood loob a kohandatud komponendid objekt, mis vastendab komponendid CustomOption ja CustomDropdownIndicator vastavaga Võimalus ja Rippmenüü indikaator võtmed.

Lõpuks edastab see kood objekti customComponents komponendi Select komponentide propele. See renderdab kohandatud komponentidega valitud sisendi, mis näeb välja järgmine:

Standardkomponendid võivad olla võimsamad ja atraktiivsemad

React Select on võimas teek, mis võimaldab teil Reactis luua kauneid ja stiilseid valikusisendeid. Saate kohandada valitud sisendeid, lisada neile funktsioone ja luua kohandatud rippmenüü komponente. Seda teeki kasutades saate täiustada oma Reacti rakenduste välimust ja kasutuskogemust.