1.1.1 • Published 8 months ago

react-native-phone-code-select v1.1.1

Weekly downloads
14
License
MIT
Repository
github
Last release
8 months ago

react-native-phone-codes-select

Country phone codes selection component with search functionality for React Native. (iOS and Android)

Installation

npm i react-native-phone-code-select

Usage

  • Import and place the component.
  • Since the component is a modal, visible prop should be controlled. Hooking up the visible prop to a state is demonstrated below.
  • The country selected from the modal is returned in the onCountryPress prop.
  • Country name, code or phone code can be entered to the search.
import RNPhoneCodeSelect from "react-native-phone-code-select";

<RNPhoneCodeSelect
  visible={visible}
  onDismiss={() => setVisible(false)}
  onCountryPress={(country) => setSelectedCountry(country)}
  primaryColor="#f04a4a"
  secondaryColor="#000000"
  buttonText="Ok"
/>;

Configuration Props

PropTypeDescription
visibleBooleanThe visibility of the modal. If true the modal will be shown and vice versa.
autoFocusBooleanIf true, focuses the input component on componentDidMount.
onDismissFunctionFunction that will be fired when the 'Done' button is pressed.
onCountryPressFunctionFunction that fires when a country from the list is selected. A 'country' parameter is included as a Country Object. (See below for details.)
primaryColorColorThe primary color used in the component.
secondaryColorColorThe secondary color used in the component.
buttonStyleStyle ObjectNot required. Extra styling for button background.
buttonTextStyleStyle ObjectNot required. Extra styling for button text.
buttonTextStringNot required. Custom text for 'Done' button.

Country Object

{
  name: "Turkey",
  flag: "🇹🇷",
  code: "TR",
  dial_code: "+90"
}

Example Usage

import RNPhoneCodeSelect from "react-native-phone-code-select";

export default function App() {
  const [visible, setVisible] = useState(false);
  const [selectedCountry, setSelectedCountry] = useState(null);
  return (
    <View style={styles.container}>
      <Button onPress={() => setVisible(true)} title="Show Modal" />
      <RNPhoneCodeSelect
        visible={visible}
        onDismiss={() => setVisible(false)}
        onCountryPress={(country) => setSelectedCountry(country)}
        primaryColor="#f04a4a"
        secondaryColor="#000000"
        buttonText="Ok"
      />
    </View>
  );
}