react-native-thiering
v1.1.3
Published
Bundle of useful and beautiful customizable components
Downloads
3
Maintainers
Readme
| | | | |---|---|---| | | | |
👉🏻 Dropdown
🔍 Preview
| | | |---|---| | | | | | |
💾 Installation
npm i react-native-thiering
✍ Usage
💻 Code
Let's build the preview! (You can find the full code below)
Import the Dropdown:
import { Dropdown } from "react-native-thiering";
Initialize state for selected item:
const [selected, setSelected] = useState({
label: "Germany",
value: "germany",
});
Initialize list for dropdown:
const list = [
{
label: "Germany",
value: "germany",
},
{
label: "Italy",
value: "italy",
},
{
label: "France",
value: "france",
},
];
Use Dropdown element:
<Dropdown
list={list}
defaultValue={selected.value}
onChange={setSelected}
/>
Make it ✨your✨ dropdown:
<Dropdown
list={list}
defaultValue={selected.value}
onChange={setSelected}
placeholder="Select country"
containerStyle={{ width: 300 }}
/>
Here is the full code for the preview:
import React, { useState } from "react";
import { StyleSheet, View, Text } from "react-native";
import { Dropdown } from "react-native-thiering";
export default function App() {
const [selected, setSelected] = useState({
label: "Germany",
value: "germany",
});
const list = [
{
label: "Germany",
value: "germany",
},
{
label: "Italy",
value: "italy",
},
{
label: "France",
value: "france",
},
];
return (
<View style={styles.container}>
<Text>Selected: {selected.label}</Text>
<Dropdown
list={list}
defaultValue={selected.value}
onChange={setSelected}
placeholder="Select country"
containerStyle={{ width: 300 }}
/>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#fff",
alignItems: "center",
justifyContent: "center",
},
});
📋 Types
| Name | Value | Description |
|---|---|---|
| DropdownItem | {label: string; value: string;}
| Dropdown item type |
🎯 Properties
| Property | Type | Default | Description |
|---|---|---|---|
| list | DropdownItem[]
| []
| List that will be displayed in dropdown |
| defaultValue | string
| - | Initial value of dropdown |
| open | boolean
| false
| Initial state of dropdown (opened/closed) |
| onChange | (item: DropdownItem) => void
| - | Fires when new value is selected |
| onChangeText | (text: string) => void
| - | Fires when search input changes |
| placeholder | string
| "Search..."
| Placeholder of search input |
| placeholderTextColor | string
| "#888"
| Placeholder text color |
| iconLeft | JSX.Element
| <Icon name="search-outline" size={18} color={"#888"} />
| Icon left of search input |
| iconRightClose | JSX.Element
| <Icon name="chevron-up" size={18} color={"#888"} />
| Icon right of search input when dropdown is open |
| iconRight | JSX.Element
| <Icon name="chevron-down" size={18} color={"#888"} />
| Icon right of search input when dropdown is closed |
🪄 Style
| Property | Type | Default | Description |
|---|---|---|---|
| containerStyle | ViewStyle
| - | Style of view container |
| searchBarStyle | ViewStyle
| - | Style of TouchableOpacity |
| textInputStyle | TextStyle
| - | Style of search input |
| dropdownStyle | ViewStyle
| - | Style of dropdown |
| dropdownItemStyle | ViewStyle
| - | Style of dropdown item |