Skip to the content.

React-Native-Input-Search-Bar

A simple search bar component for React Native.

Build Status license NPM version Release Date npm download

TOC

Preview

preview

Installation

NPM

Notes: You need to install react-native-svg first, because this component depends on it to render the search icon.

Getting Started

Add react-native-input-search-bar to your js file.

import ReactNativeInputSearchBar from 'react-native-input-search-bar'

Inside your component’s render method, use ReactNativeInputSearchBar:

 render() {
     return (
         <View>
          <ReactNativeInputSearchBar
            onSubmitSearch={(_val) => {
              console.log(_val);
            }}
            ...
            buttonText="Search"
          />
         </View>
     );
 }

Basic usage

import ReactNativeInputSearchBar from 'react-native-input-search-bar'
import { useState } from 'react'

const SearchBar = () => {
  const [query, setQuery] = useState<string>('')
  const [activeSearch, setActiveSearch] = useState<boolean>(false)

  const onSubmitSearch = (val: string) => {
    setQuery(val)
  }

  return (
    <ReactNativeInputSearchBar
      onSubmitSearch={onSubmitSearch}
      onActiveSearch={setActiveSearch}
      inputTextStyle=
      buttonStyle=
      buttonTextStyle=
      searchToolContainerStyle=
      inputContainerStyle=
      inputProps=
      buttonText="Search"
    />
  )
}

export default SearchBar

Props

Props for ReactNativeInputSearchBar

Prop Type Default Description
onSubmitSearch function   Callback function when the search button is pressed.
onActiveSearch function   Callback function when the search bar is active.
inputTextStyle object   Style for the input text.
buttonStyle object   Style for the search button.
buttonTextStyle object   Style for the search button text.
searchToolContainerStyle object   Style for the search tool container.
inputContainerStyle object   Style for the input container.
inputProps object   Props for the input.
buttonText string   Text for the search button.
clearButton boolean true Whether to show the clear button.
inputActiveColor string   Color for the input when active.
inputInactiveColor string   Color for the input when inactive.
iconStyle object   Style for the search icon.
customIcon element   Custom icon for the search input icon.

TypeDefine for ReactNativeInputSearchBar

interface RNInputSearchBarProps {
  searchToolContainerStyle?: StyleProp<ViewStyle>
  clearButton?: boolean
  onActiveSearch: (val: boolean) => void
  onSubmitSearch: (val: string) => void
  inputActiveColor?: ColorValue
  inputInactiveColor?: ColorValue
  inputContainerStyle?: StyleProp<ViewStyle>
  inputTextStyle?: StyleProp<TextStyle>
  inputProps?: TextInputProps
  customIcon?: ReactNode
  iconStyle?: StyleProp<ViewStyle>
  buttonStyle?: StyleProp<ViewStyle>
  buttonText?: string
  buttonTextStyle?: StyleProp<TextStyle>
}

Reference

Contribution

If you have any questions or suggestions, please feel free to open an issue or pull request.

License

MIT License © 2022 funnyzak