Emelje fel unalmas legördülő menüit ezzel a rugalmas React könyvtárral.

A kiválasztott bemenet egy hasznos webalkalmazás-összetevő, amellyel számos lehetőség közül választhat értéket anélkül, hogy sok helyet foglalna. De az alapértelmezett stílus unalmas lehet, és ütközhet a terv többi részével.

A React Select rugalmas és testreszabható megoldást kínál a legördülő bemenetek megjelenésének és funkcionalitásának javítására.

A React Select telepítése

A React integrálása más könyvtárakkal vagy technológiákkal, mint például a React Select, a React Redux és még sok más, leegyszerűsítheti a fejlesztési folyamatot.

A React Select használatának megkezdéséhez telepítenie kell a projektbe. Nak nek tegye ezt az npm használatával, futtassa ezt a terminálparancsot a projektkönyvtárban:

npm i --save react-select

Ezzel telepíti és beállítja a könyvtárat a React projektben, így elkezdheti használni.

Select bemenetek létrehozása a React Select segítségével

Most, hogy beállította a könyvtárat, használhatja kiválasztott bemenetek létrehozására. Ehhez használja a

instagram viewer
Válassza ki összetevő. Ez egy nagymértékben testreszabható összetevő, amely lehetővé teszi a felhasználók számára, hogy egy listából válasszanak ki lehetőségeket.

Íme egy példa a Select összetevő használatára:

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

Ez a példa a következő importálásával kezdődik Válassza ki komponens innen: "reagálni-választani”. Meghatározza egy lehetőségek tömb három objektummal, mindegyikben a érték és a címke ingatlan. A value tulajdonság azt az értéket képviseli, amelyet az űrlap elküld a háttérrendszernek, amikor elküldi. A címke tulajdonság az a szöveg, amelyet a Select összetevő a legördülő menüben jelenít meg.

Amikor megjeleníti a Select összetevőt, adja át neki a beállítások tömböt a segítségével lehetőségek támaszt.

Ezzel a kódblokkkal a React Select könyvtár egy ilyen legördülő listát generál:

A Select bemenetek testreszabása

A React Select különféle módokat kínál a kiválasztott bemenetek testreszabására. Használhat CSS-osztályokat, vagy alkalmazhat belső stílusokat közvetlenül a kiválasztott bemenetekre, ízlésének megfelelően.

Testreszabás CSS osztályokkal

A React Select könyvtár a osztály név kellék a Válassza ki összetevő. Használja ezt a className prop egyéni lépcsőzetes stíluslap (CSS) alkalmazása stílusokat a Select összetevőkhöz.

Például:

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

A fenti kódblokk hasonló az előzőhöz, de a osztály név javaslat egyéni CSS-osztály alkalmazásához a Válassza ki összetevő. Adjon meg egy nevet a className propban, és használja CSS-stílusok alkalmazására az összetevőre:

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

A stílusok meghatározása után a kiválasztott bemenet így fog kinézni:

Testreszabás beépített stílusokkal

Soron belüli stílusokat is meghatározhat egy objektumban, amelyet a következőn keresztül továbbít stílusok kelléke a Válassza ki összetevő. Így jobban szabályozhatja az egyes elemek stílusát.

Íme egy példa:

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

A kellék tárgy, egyéni stílusok, stílustulajdonságokat tartalmaz a Select összetevőhöz ellenőrzés, választási lehetőség, és menü alkatrészek. Ezek a tulajdonságok olyan függvények, amelyeknek két argumentuma van: baseStyles és állapot.

A baseStyles paraméter a React Select által biztosított alapértelmezett stílusokat, míg az állapotparaméter az elem aktuális állapotát jelöli. Ebben a példában a függvények a spread operátort használják a baseStyles extra stílusok kombinálására az összetevő minden egyes részéhez.

A stílusok alkalmazása után a kiválasztott bevitelnek így kell kinéznie:

Funkciók hozzáadása a Select bemenetekhez

A React Select számos funkciót kínál a kiválasztott bemenetek funkcionalitásának javítására. Engedélyezheti a többszörös kiválasztási és keresési funkciókat, és akár egyéni legördülő elemeket is létrehozhat.

Többfunkciós funkció

Ha engedélyezni szeretné a többszörös kijelölés funkciót a legördülő menükben, adja át a következőt: isMulti támaszkodjon a Select komponensre. Ez lehetővé teszi a felhasználók számára, hogy több opciót válasszanak a legördülő menüből.

Például:

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

Ez a példa bemutatja, hogyan kell használni a isMulti prop a multi-select funkció hozzáadásához a kiválasztott bemenetekhez.

Keresési funkciók

A React Select könyvtár beépített keresési funkciót biztosít az opciók egyszerű szűréséhez. Alapértelmezés szerint a Select összetevő megjeleníti a keresési bevitelt a legördülő menü megnyitásakor. A felhasználók beírhatják a keresési bevitelt a rendelkezésre álló lehetőségek szűréséhez.

A keresési funkció engedélyezéséhez adja át a Kereshető támasz a Válassza ki összetevő. Mint a isMulti prop, isSearchable logikai értéket fogad el.

Íme egy példa az isSearchable prop használatára a keresési funkciók engedélyezéséhez:

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

A fenti kódblokk megjelenítése egy kiválasztott bemenetet jelenít meg keresési funkcióval. Így fog kinézni és működni:

Hozzon létre egyéni legördülő összetevőket

A React Select lehetővé teszi egyéni legördülő komponensek létrehozását az összetevők prop segítségével. Felülbírálhatja a React Select által biztosított alapértelmezett összetevőket, és ízlésének megfelelően testreszabhatja a legördülő menü megjelenését és viselkedését.

Például:

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

Ez a kódblokk bemutatja, hogyan hozhat létre egyéni összetevőket egy kiválasztott bemenethez a alkatrészek kelléke a Válassza ki összetevő. Importálja a alkatrészek objektum, amely előre meghatározott komponensek gyűjteménye, amelyek segítségével testreszabhatja a kiválasztott bemenetek különböző elemeinek megjelenését és viselkedését.

A kód két funkcionális komponenst határoz meg: CustomOption és CustomDropdown Indicator. A CustomOption komponens egy objektumot vesz paraméterként. Ez az objektum különféle tulajdonságokat tartalmaz, amelyeket a React Select biztosít, például innerProps és címke.

A CustomDropdownIndicator komponens veszi kellékek paraméterként. Ez az összetevő egy egyéni legördülő menüt jelenít meg egy lefelé mutató nyíl szimbólummal. A kód létrehozza a customComponents objektum, amely leképezi a CustomOption és a CustomDropdownIndicator összetevőket a megfelelőre választási lehetőség és Legördülő menüjelző kulcsok.

Végül ez a kód átadja a customComponents objektumot a Select komponens összetevő-propójának. Ez egy kiválasztott bemenetet jelenít meg az egyéni összetevőkkel, így néz ki:

A szabványos alkatrészek erősebbek és vonzóbbak lehetnek

A React Select egy hatékony könyvtár, amellyel gyönyörű és stílusos kiválasztási bemeneteket hozhat létre a Reactban. Testreszabhatja a kiválasztott bemeneteket, funkciókat adhat hozzájuk, és egyéni legördülő összetevőket hozhat létre. A könyvtár előnyeit kihasználva javíthatja React alkalmazásai megjelenését és felhasználói élményét.