adesege / react-native-paper-dropdown

Dropdown using react native paper TextInput and Menu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

react-native-paper-dropdown

NPM

Material Design Dropdown Component using React Native Paper

Basic Example

import { Provider, TextInput } from "react-native-paper";

import React, { useState } from "react";

import { SafeAreaView, StyleSheet } from "react-native";

import DropDown from "react-native-paper-dropdown";

function Example() {
  const [showDropDown, setShowDropDown] = useState(false);

  const [gender, setGender] = useState();

  const genderList = [
    { label: "Male", value: "male" },

    { label: "Female", value: "female" },

    { label: "Others", value: "others" },
  ];

  return (
    <Provider>
      <SafeAreaView style={styles.containerStyle}>
        <DropDown
          label={"Gender"}
          mode={"outlined"}
          value={gender}
          setValue={setGender}
          list={genderList}
          visible={showDropDown}
          showDropDown={() => setShowDropDown(true)}
          onDismiss={() => setShowDropDown(false)}
          inputProps={{
            right: <TextInput.Icon name={"menu-down"} />,
          }}
        />
      </SafeAreaView>
    </Provider>
  );
}

const styles = StyleSheet.create({
  containerStyle: {
    flex: 1,

    marginHorizontal: 20,

    justifyContent: "center",
  },
});

export default Example;

Props

{

visible: boolean;

onDismiss: () =>  void;

showDropDown: () =>  void;

value: string | number | undefined;

setValue: (_value: string | number) =>  void;

label?: string | undefined;

placeholder?: string | undefined;

mode?: 'outlined' | 'flat' | undefined;

inputProps?: TextInputPropsWithoutTheme;

list: Array<{

label: string;

value: string | number;

custom?: ReactNode;

}>;

dropDownContainerMaxHeight?: number;

activeColor?: string;

theme?: Theme;

dropDownStyle?: ViewStyle;

dropDownItemStyle?: ViewStyle;

}

Android

iOS

About

Dropdown using react native paper TextInput and Menu


Languages

Language:TypeScript 38.2%Language:Java 26.9%Language:Objective-C 20.8%Language:JavaScript 8.8%Language:Ruby 2.8%Language:Starlark 2.6%